Heim > Java > JavaBase > Hauptteil

Java-String verstümmelte Zeichen

angryTom
Freigeben: 2019-11-18 10:22:39
Original
4162 Leute haben es durchsucht

Java-String verstümmelte Zeichen

verstümmelter Java-String-Code

Das Problem besteht darin, dass das System die Kodierungsmethoden für Vorabversion, Produktion und lokal verwendet Umgebungen sind inkonsistent. Der Systemstandard ist UTF-8, während die Standardcodierung für Vorabversions- und Produktionsumgebungen GBK ist, was zu verstümmelten Zeichen führt.

Wenn die Kodierungsmethode nicht angegeben ist, wird standardmäßig die Systemkodierungsmethode verwendet.

String csn = Charset.defaultCharset().name();
try {
    // use charset name decode() variant which provides caching.
    return decode(csn, ba, off, len);
} catch (UnsupportedEncodingException x) {
    warnUnsupportedCharset(csn);
}
try {
    return decode("ISO-8859-1", ba, off, len);
} catch (UnsupportedEncodingException x) {
    // If this code is hit during VM initialization, MessageUtils is
    // the only way we will be able to get any kind of error message.
    MessageUtils.err("ISO-8859-1 charset not available: " +
        x.toString());
    // If we can not find ISO-8859-1 (a required encoding) then things
    // are seriously wrong with the installation.
    System.exit(1);
    return null;
}
System.getProperty("file.encoding") //查看系统默认编码方式
Nach dem Login kopieren

Die Lösung ist wie folgt:

1. Transkodieren bei Verwendung von String

System.out.println(str);
String str1 = new String(str.getBytes("ISO-8859-1"), "utf-8");
System.out.println(str1);
String str2 = new String(str.getBytes("gb2312"), "utf-8");
System.out.println(str2);
String str3 = new String(str.getBytes("gbk"), "utf-8");
System.out.println(str3);
Nach dem Login kopieren

2 Zeichenfolgen werden transkodiert

String decodeStr=null;
decodeStr = URLDecoder.decode(url, "utf-8");
Nach dem Login kopieren

Daher muss bei Verwendung von String die Kodierungsmethode unabhängig von Kodierung oder Dekodierung angegeben werden, da sie sonst mit der Systemumgebung gekoppelt wird.

php Chinesische Website, eine große Anzahl kostenloser Java-Einführungs-Tutorials, willkommen zum Online-Lernen!

Das obige ist der detaillierte Inhalt vonJava-String verstümmelte Zeichen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage