【发布时间】:2014-04-16 05:39:21
【问题描述】:
我有一些匈牙利语文本,我希望使用 UCS2 编码对其进行编码
String stringEncoding = "UCS-2";
String contentHardCoded = new String("szigorúan bejelentkezési azonosításhoz".getBytes(),stringEncoding);
但我得到以下异常
Exception in thread "main" java.io.UnsupportedEncodingException: UCS-2
at java.lang.StringCoding.decode(StringCoding.java:170)
at java.lang.String.<init>(String.java:443)
at java.lang.String.<init>(String.java:515)
at com.gtl.mindmatics.sms.Main.sendSMS(Main.java:108)
at com.gtl.mindmatics.sms.Main.main(Main.java:180)
Java Result: 1
可能出了什么问题?
编辑
我使用以下命令来运行我的 jar 其实我的命令是这样的
java -Dfile.encoding=UCS-2 -cp MyApp.jar com.sms.Main "9876543210" “UCS-2” > testApp.log
还有应该使用什么正确的编码,我使用了 UTF-8 但输出不正确。
【问题讨论】:
-
Oracle 的 Java 8 实现支持的编码的规范名称在 here 中列出。顺便说一句,
getBytes()必须使用相同的编码,否则操作不对称,字符串将被破坏。