无法在基于java的程序中正确编写重音符号(西班牙语)

时间:2011-06-13 08:54:29

标签: java character-encoding

我试过在更一般的论坛上问这个,因为它与编程没有直接关系,但是我找不到答案,所以我在这里。

当我尝试使用死键方法(在西班牙语键盘中常用的方法,在每个基于Java的程序中按'然后元音组合它们)键入重音字符(如áéíóú)时,不是由我喜欢Netbeans,Eclipse或从互联网上下载的任何.jar,它没有写出口音。当我按下'键两次时它会写'''而不是'',这将是正常的行为。

我可以“写”重音字符,因为我可以从记事本中复制它们,我不能做的就是用通常的死键方法直接输入它们。

语言栏中显示的输入语言是西班牙语,与其他地方一样,并且键的布局正确。

我尝试重新安装JRE并查找恶意软件无济于事。

我使用的是Windows XP,而JRE版本是1.6.0_26-b03,虽然它在我以前的版本中也没有用。

2 个答案:

答案 0 :(得分:5)

Java代码需要是UTF-8。如果使用unicode \unnnn对字符进行编码,则可以使用任何unicode字符。

以下是对代码进行编码的方法:

    String spanish = "\u00E1\u00E9\u00ED\u00F3\u00FA";
    System.out.println(spanish); // prints áéíóú

这在Eclipse中可以正常运行。

答案 1 :(得分:1)

进入控制面板 - >区域选项 - >语言 - > [详情] - > [语言栏]并切换“在桌面上显示语言栏”选项,以便您可以查看Java程序是否将键盘输入与其他程序区别对待。

有多种方法可以使用AltGr +各种字符输入重音键,或使用`作为死键(即按`后跟一个字母组成重音字符。)

您也可以尝试使用Alt +键盘上的数字代码,这可能需要更长时间才能输入,但必须比将所有内容转换为unicode代码点并使用\u转义序列插入字符串更容易

alt代码有各种参考,这里只有一个来自Google: http://usefulshortcuts.com/alt-codes/spanish-alt-codes.php