UTF-8-Kodierung ; Nur einige japanische Zeichen werden nicht umgewandelt bekommen

Ich bin immer der parameter-Wert als parameter aus der Jersey-Web-Service -, die in der Japaner-Zeichen.

Hier, 'japaneseString' ist die web-service-parameter, der die Zeichen in der japanischen Sprache.

   String name = new String(japaneseString.getBytes(), "UTF-8");

Allerdings bin ich in der Lage zu konvertieren ein paar sting-Literale erfolgreich, während einige von Ihnen sind Probleme zu schaffen.

Wurden erfolgreich konvertiert:

 1) アップル
 2) 
 3) 世丕且且世两上与丑万丣丕且丗丕
 4) 世世丗丈

Während diese din nicht:

 1) ひほわれよう
 2) 存在する

Als ich weiter untersuchte, fand ich, dass diese 2 strings werden immer umgewandelt in einige JUNK-Zeichen.

 1) Input: ひほわれよう        Output : �?��?��?れよ�?�
 2) Input: 存在する            Output: 存在�?�る

Jede Idee, warum es mit den japanischen Zeichen werden nicht richtig konvertiert?

Dank.

Warum die Codierung und Decodierung einer Zeichenfolge in der gleichen Zeile? Das macht keinen Sinn. Offensichtlich japaneseString ist bereits ein string, so können Sie einfach verwenden, in dem code anstelle von name. Als Antwort auf: String.getBytes() nutzt die Plattform die Standard-Kodierung für die Erstellung des byte-array. Und das ist vielleicht nicht UTF-8. Die Dekodierung mit UTF-8 dann wird die junk-chars.
Das Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)
Seine eine dumme Frage, aber ich muss Sie trotzdem stellen: sind Sie sicher, dass die schriftart verwendet, kann eigentlich machen alle diese Zeichen, richtig?
Ja, die anderen sind rendering absolut Recht.
Die 3. und 4. strings nicht Aussehen wie die japanischen. Ich bin nicht sicher, ob UTF für Kanji und Hiragana sind die gleichen.

InformationsquelleAutor Janak | 2014-06-03

Schreibe einen Kommentar