Also mache ich meine benutzerdefinierte Highscore-Karte im mobilen Spiel, mit Unity-Engine.
Ich habe meine MySQL-Datenbank eingerichtet und Highscore-Asset aus dem Store gekauft, es funktioniert, aber nur mit englischen Benutzernamen. Also im Grunde senden Sie den Namen des Benutzers, Score zu. PHP-Skript.
Aber ich möchte, dass dieses Skript auch koreanische Zeichen als Nickname des Benutzers erhalten kann. Meine Benutzer benutzen koreanische Zeichen auch als Spitznamen nicht nur englische Zeichen.
Wie kann ich das erreichen?
Hier sind Codes.
------------------ (Highscore.cs auf der Einheitsseite)
%Vor%..................
%Vor%Wenn ich ein koreanisches Zeichen eingabe und sende, meldet das Konsolenergebnis "Sicherheitsfehler" im obigen Code.
Wie ein Benutzer zuvor gesagt hat, verwenden Sie die falsche Kodierung, wenn Sie ascii Zeichen verwenden (der Fall für Koreanisch, Japanisch, usw.). Sie sollten Encoding.UTF8.GetBytes anstelle von Encoding.ASCII.GetBytes verwenden, schauen Sie sich Ссылка für die Beispielfunktion GetMd5Hash. Wenn Sie ASCII md5 ausführen, wird ein anderer MD5 generiert.
Das "Salz" ist der geheime Schlüssel, den Sie verwenden. $ secretKey in PHP und secretKey in C #. Sie sollten ein wenig über Sicherheit lesen, wenn Sie nicht wissen, was Salz ist, denn wenn Sie nicht denken, dass Sie ein sicheres (r) System erstellt haben und Sie nicht haben.
Ich hoffe, es hilft.