我在2台计算机上使用netbeans 6.1。
其中一个程序:
public static void main(String argv[])
{
System.out.println("שלום");
}
正常打印,另一个问号打印 两种环境之间有什么区别?
编辑:
在两台电脑上
控制面板\区域和语言选项\高级
是希伯来语
编辑:
谢谢Michael Burr,
但编码的值已经是UTF-8。
也许这与JVM有关?
编辑:
我已经安装了Eclipse,问题就出现了。
我也尝试从具有相同结果的文件中读取希伯来语。
编辑:
System.getProperty("file.encoding");
返回“Cp1252”
我试过了
System.setProperty("file.encoding","UTF-8")
但问号仍然存在。
谢谢,
IDO
答案 0 :(得分:3)
确保使用支持希伯来字符的编码设置NetBeans。来自NetBeans Wiki:
更改项目的语言编码:
- 在“项目”窗口中右键单击项目节点,然后选择“属性”。
- 在“来源”下,从“编码”下拉字段中选择一个编码值。
醇>
答案 1 :(得分:2)
您无法使用System.setProperty()
设置“file.encoding”属性;当JVM以-Dfile.encoding=UTF-8
启动时,必须在命令行上设置它。在JVM初始化和缓存期间读取此属性的值。在调用main
方法时,该值已被缓存,并且将忽略对该属性的更改。
答案 2 :(得分:1)
默认情况下是否安装了希伯来语?可能是没有安装语言包吗?
控制面板>区域和语言选项>语言。选择“为复杂脚本和从右到左语言(包括泰语)安装文件”选项。这将安装对希伯来语的支持。你可能需要一张操作系统光盘。
答案 3 :(得分:1)
你究竟是如何运行程序的?它在哪里打印输出?它可以像netbeans或使用不同字体的控制台一样简单,其中一种不包含希伯来字符。
要消除编译过程中的编码问题,请尝试用他们的unicode escape sequences替换希伯来字符,看看结果是否不同。
答案 4 :(得分:1)
我想我误解了你的问题(我认为这些字符没有在NetBeans编辑器中正确显示)。解决问题的确切步骤可能取决于您运行的操作系统的版本。 Win2K,WInXP和Vista都有不同的对话框和措辞。
请查看JVM的此帮助页面:
听起来你已经按照它应该的那样配置了系统,但是魔鬼在细节中 - 系统上有几种不同的“语言环境”设置可能会影响到这一点(而且我知道JVM可能单独扔一两个。)
答案 5 :(得分:0)
通常它是默认编码:
控制面板\区域和语言选项\高级
(在组合中选择希伯来语)
更改此设置后,您必须重新启动。
答案 6 :(得分:0)
这对我有帮助(在Win7上):
答案 7 :(得分:0)
上面没有人回答不起作用。
我花了大约一个小时,但已经发现,问题不是在字符串编码中,而是在默认编码中,IDE从启动时使用。
因此,要在Netbeans控制台输出中获取希伯来语,阿拉伯语,俄语等符号,您需要修改 netbeans.conf 。
搜索关键 netbeans_default_options ,并在引号中添加 -J-Dfile.encoding = UTF-8 。