2

因此,我正在运行MeCab(http://mecab.sourceforge.net/#download)到单词段并对日语句子进行形态分析。但是,当我运行该程序时,由于Mac OS X Terminal中的某些编码问题,我看到了abracadabra。我GOOGLE了话题,加入指定-Dfile.encoding选项,增加了以下3行.inputrc文件:如何在Mac OS X Terminal中显示日文字符?

set convert-meta off 
set meta-flag on 
set output-meta on 

没有什么工作。任何想法如何在Mac OS X终端中显示日文字符?这里的程序test.java的运行的输出:

env DYLD_LIBRARY_PATH=. /usr/bin/java -Dfile.encoding=utf-8 test 
0.98pre3 
å¤ ̾»ì,°ìÈÌ,*,*,*,*,* 
ª郎ã µ­¹æ,°ìÈÌ,*,*,*,*,* 
¯ä ̾»ì,¸Çͭ̾»ì,Áȿ¥,*,*,*,* 
º郎にこのæ µ­¹æ,°ìÈÌ,*,*,*,*,* 
¬ã ̾»ì,¥µÊÑÀܳ,*,*,*,*,* 
    µ­¹æ,°ìÈÌ,*,*,*,*,* 
æ¸ ̾»ì,°ìÈÌ,*,*,*,*,* 
¡ã µ­¹æ,³ç 
    BOS/EOS,*,*,*,*,*,*,*,* 
å ̾»ì,°ìÈÌ,*,*,*,* 
ª郎 µ­¹æ,°ìÈÌ,*,*,* 
¯ ̾»ì,¸Çͭ̾»ì,Áȿ¥,*,* 
º郎にこ µ­¹æ,°ìÈÌ,*,*,* 
¬ ̾»ì,¥µÊÑÀܳ,*,*,*, 
    µ­¹æ,°ìÈÌ,*,*,* 
æ ̾»ì,°ìÈÌ,*,*,*,* 
¡ µ­¹æ,³ç¸̳«,*,*,*,* 
    µ­¹æ,°ìÈÌ,*,*,* 
    BOS/EOS,*,*,*,*,*,*,*,* 
EOS 
+0

什么是当您运行以下命令的输出:我很惊讶这是行不通的“小额薪酬索偿仲裁-D” – buruzaemon 2011-05-04 05:51:21

+0

。我有一个使用日文文本的UTF-8文本文件(从TextEdit保存) - 'file myfile.txt'返回'UTF-8 Unicode英文文本'(好吧,足够接近!) - 如果我'cat myfile.txt '它在终端看起来很完美。如果你管它到'hexdump',你会得到你期望的UTF-8字节吗? – Ken 2011-05-04 05:52:03

+0

是啊,我买了一台苹果机,是因为它能够打印终端上的日文字符,而无需做任何事情(相对于Windows的地方是没有剧烈的变化根本不可能)的原因实际上是一个,事实上,有一些日本上面文字中的字符证明这个方面在技术上是可行的 - 在这个过程中可能还有其他东西正在搞砸印刷的东西 – PandaWood 2011-05-04 20:41:03

回答

1

我还以为这是默认设置,但你可以尝试选择“的Unicode(UTF-8)”从的字符编码偏好...,设置,高级,国际。如果这已经设置好了,你可能想要确认你的程序输出实际上是用UTF-8编码的。它可能是Shift-JIS,EUC甚至UTF-16?在这种情况下,尝试从首...编码使这些编码。

0

% cd mecab-ipadic-2.7.0-xxxx 
% ./configure --with-charset=utf8 
% sudo make 
% sudo make install 

'小额薪酬索偿仲裁-D' 的输出后,

% cd mecab-java-0.98pre3 
% mecab -D 
filename: /usr/local/lib/mecab/dic/ipadic/sys.dic 
version: 102 
charset: utf8 
type: 0 
size: 392126 
left size: 1316 
right size: 1316 

这里的运行测试程序的输出。

bash-3.2$ env DYLD_LIBRARY_PATH=. /usr/bin/java test 
0.98pre3 
?? ??,????,??,?,*,*,??,???,??? 
? ??,???,*,*,*,*,?,?,? 
?? ??,????,??,?,*,*,??,???,??? 
? ??,???,??,*,*,*,?,?,? 
?? ???,*,*,*,*,*,??,??,?? 
? ??,??,*,*,*,*,?,??,?? 
? ??,???,??,*,*,*,?,?,? 
?? ??,??,*,*,?????,???,??,???,??? 
? ???,*,*,*,????,???,?,?,? 
? ??,??,*,*,*,*,?,?,? 
EOS 

    BOS/EOS,*,*,*,*,*,*,*,* 
?? ??,????,??,?,*,*,??,???,??? 
? ??,???,*,*,*,*,?,?,? 
?? ??,????,??,?,*,*,??,???,??? 
? ??,???,??,*,*,*,?,?,? 
?? ???,*,*,*,*,*,??,??,?? 
? ??,??,*,*,*,*,?,??,?? 
? ??,???,??,*,*,*,?,?,? 
?? ??,??,*,*,?????,???,??,???,??? 
? ???,*,*,*,????,???,?,?,? 
? ??,??,*,*,*,*,?,?,? 
    BOS/EOS,*,*,*,*,*,*,*,* 
EOS 

我错过了什么让编码工作?

P/S:所有日语编码在首启用 - 在终端编码,编码(首选项 - 设置 - 高级 - 国际)在Mac OS X的终端是UTF-8。

+0

好吧,最后我看到日文字符。谢谢,伙计们,寻求帮助!我不会想到我自己。 – Arman 2011-05-04 15:13:29

+0

也许你可以开始标记你的问题的正确答案?看起来很多人可能会帮助你。 – buruzaemon 2011-05-04 20:45:45

+0

@buruzaemon:mecab-ipadic中最重要的一步是'./configure --with-charset = utf8'。重新配置mecab-ipadic后终端未打印日文字符的原因是,不是'env DYLD_LIBRARY_PATH =。/usr/bin/java -Dfile.encoding = utf-8 test'我在做'env DYLD_LIBRARY_PATH =。/usr/bin/java test'。谢谢你们!现在,随着我的演讲成果出来,现在是时候进入项目的下一个阶段了:P – Arman 2011-05-04 23:32:16