次のプログラムを実行すると:
public static void main(String args[]) throws Exception
{
byte str[] = {(byte)0xEC, (byte)0x96, (byte)0xB4};
String s = new String(str, "UTF-8");
}
Linuxで、jdbのsの値を調べると、正しく次のようになります。
s = "ì–´"
Windowsでは、間違って次のように表示されます。
s = "?"
私のバイトシーケンスは韓国語で有効なUTF-8文字ですが、なぜ2つの非常に異なる結果が生成されるのでしょうか。