我正在创建一个闪卡式游戏,以帮助学习一门新语言。现在,我试图在我的程序中使用的实际语言是乌尔都语,但是当我查看一个unicode图表阿拉伯语和乌尔都语字母混合在一起时我想更多的人会知道我在说什么,如果我阿拉伯语说。
因此,在我的Windows 8机器上,我可以将键盘布局更改为Urdu,而我输入Java的任何内容都会正确显示给我。但是,使用Windows 7(在我的学校)将此代码传输到另一台计算机会将原始Java文件中的Urdu字符更改为奇数字符/ mumbo-jumbo。从在线unicode图表中处理和粘贴字符显示在java文件中,但显示为'?'在实际程序本身和System.out方法中。
现在,当我使用unicode转义命令(例如\ uXXXX)时,这些命令在两台计算机上都能正确显示。
问题在于,每次我想在乌尔都语中写东西时,我都不想使用转义命令。我打算写长句和很多单词。所以我想创建一个unicode代码数组,然后可能是一个使用这个数组将英文字符串转换为Urdu的方法,但我认为必须有一种更简单的方法来解决这个问题。
我还是个初学者,但我还是打算制作一个非常复杂的节目。如有任何帮助,谢谢。
答案 0 :(得分:1)
这听起来像是Windows 7计算机上编译器中的编码问题。在编译时,您应确保两台计算机都使用支持arabic / urdu字符的编码,例如UTF-8。
如果未指定,编译器将使用系统的默认编码,该编码可能不支持arabic / urdu字符。有关如何查找/设置编码属性的信息,请参阅this链接。
您可以通过添加以下代码来获取当前用于编译的编码:
System.out.println(System.getProperty("file.encoding"));