ハロの外部記憶インターフェイス

そろそろ覚える努力が必要かも…

Java日本語全角変換問題

Windows向けのJavaは基本的なコードが"MS932"である。
でも、全角の文字をShift-JISに変換する場合の'-'や'〜‖−¢£¬'などの特集文字の方が化ける場合

String unicode = '―〜‖−¢£¬';
byte[] byteText;
try{
//byteText = stringText.getBytes(); // WindowsデフォールトがMS932なのどbyteText3と同じ
byteText = stringText.getBytes("SJIS");
//byteText = stringText.getBytes("UTF-8");
//byteText = stringText.getBytes("MS932");
}catch(UnsupportedEncodingException e1) {
e1.stackTrace();
}
byteArrayInputStream = new ByteArrayInputStream( byteText );

※ 少し別の場合になるかも知れないが自分の場合はStringをFtpにファイルとして転送しようとした。この場合上のような特集文字が全て???になってたので今の方式で変換した。

結局、上の4つのByteストリムのなかでSJISの方のみきれいに転送されました。