質問: Linux Subsystem UbuntuのBashから`mecab`を起動すると正常: ``` nyck33@DESKTOP-9JIJ7R7:/mnt/c/Users/nick/Downloads$ mecab 面白い 面白い 形容詞,*,イ形容詞アウオ段,基本形,面白い,おもしろい,代表表記:面白い/おもしろい 反義:形容詞:つまらない/つまらない EOS ``` MINGW64では分からない漢字が表示される: ``` $ mecab 面白い 面白い 險伜捷,荳闊ャ,*,*,*,*,* EOS 馬鹿だな 險伜捷,荳闊ャ,*,*,*,*,* n 蜷崎ゥ・蝗コ譛牙錐隧・邨・ケ・*,*,*,* 鹿だな 險伜捷,荳闊ャ,*,*,*,*,* EOS ``` Windows Command Promptでも同じく: ``` C:\Users\nick>mecab 面白い 面白い 險伜捷,荳闊ャ,*,*,*,*,* EOS ``` 先ほどまでWindows Command Promptでは正常に動いていたのに、以下の説明でLinux Bashで使えるようにしたらこうなってしまいました。 MecabをWindows Ubuntu Bashで使う方法 上記3つのShellで使える方法はありますか。それともWindows Linux Bashで使えるようにしたら他が駄目になってしまうものですか。助言をお願いします。 Edit: こちらWindowsでMecab-Pythonを参考にしてインストールしなおそうとしましたが、`python setup.py build`の時点で以下のエラーが発生しました: ``` running install running build running build_py running build_ext building '_MeCab' extension C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.14.26428\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD "-IC:\Program Files (x86)\MeCab\sdk" -IC:\ProgramData\Anaconda3\include -IC:\ProgramData\Anaconda3\include "-IC:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.14.26428\ATLMFC\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.14.26428\include" "-IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\include\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\cppwinrt" /EHsc /TpMeCab_wrap.cxx /Fobuild\temp.win-amd64-3.6\Release\MeCab_wrap.obj MeCab_wrap.cxx MeCab_wrap.cxx(3052): fatal error C1083: Cannot open include file: 'mecab.h': No such file or directory error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.14.26428\\bin\\HostX86\\x64\\cl.exe' failed with exit status 2 ``` 確認したら問題の`mecab.h`はありました: ![ファイルの保存先](https://i.stack.imgur.com/jlGq6.png) `\Anaconda3\Lib\site-package`には`MeCab.py`がありました: ![ファイルの保存先](https://i.stack.imgur.com/pPuXx.png) 追加情報: 上記の現状のまま、ファイルからは正常に動作します。 ``` $ python mecab-test.py 安倍 アベ 安倍 名詞-固有名詞-人名-姓 晋 ススム 晋 名詞-固有名詞-人名-名 三 サン 三 名詞-数 首相 シュショウ 首相 名詞-一般 は ハ は 助詞-係助詞 、 、 、 記号-読点 国会 コッカイ 国会 名詞-一般 で デ で 助詞-格助詞-一般 施政 シセイ 施政 名詞-一般 方針 ホウシン 方針 名詞-一般 演説 エンゼツ 演説 名詞-サ変接続 を ヲ を 助詞-格助詞-一般 行っ オコナッ 行う 動詞-自立 五段・ワ行促音便 連用タ接続 た タ た 助動詞 特殊・タ 基本形 。 。 。 記号-句点 EOS ``` コマンドラインからは相変わらず異常です: ``` $ mecab アイスクリーム 險伜捷,荳闊ャ,*,*,*,*,* A 蜷崎ゥ・蝗コ譛牙錐隧・邨・ケ・*,*,*,* 險伜捷,荳闊ャ,*,*,*,*,* C 蜷崎ゥ・蝗コ譛牙錐隧・邨・ケ・*,*,*,* 險伜捷,荳闊ャ,*,*,*,*,* X 蜷崎ゥ・蝗コ譛牙錐隧・邨・ケ・*,*,*,* 險伜捷,荳闊ャ,*,*,*,*,* N 蜷崎ゥ・蝗コ譛牙錐隧・邨・ケ・*,*,*,* リ 險伜捷,荳闊ャ,*,*,*,*,* [ 蜷崎ゥ・繧オ螟画磁邯・*,*,*,*,* ム 險伜捷,荳闊ャ,*,*,*,*,* EOS ```
回答: おそらく文字コードです。読み込みに利用しているファイルの文字コードと、実行時のLocaleのつじつまあっているか、確認してください。 Windowsコマンド環境では・・・・といいう話なので、ja_JP.UTF8でSJISのテキストを処理しようとしたりしてませんか?<読み込み時に指定していないと大抵、ご提示の雰囲気の文字列に化けます。