UbuntuのCUIで日本語ファイルを使う方法

2017年10月11日

Linux サーバー テクノロジー

Linuxサーバーで日本語ファイル名(全角)を使うということはあまり無いのですが、ユーザー任意のファイルアップロードや、SAMBAサーバー化している場合、どうしても日本語ファイルが入り込んできます。 僕の場合は、自宅の膨大な本棚をデジタル化して、ファイル名をそのまま保存しているので、日本語対応していないとかなり使いづらいというワケなんですね。 Ubuntuを使っている人は、GUIで使っている場合が多いと思いますが、その場合は、言語ツールがあるので、そちらを利用してください。 今回は、あくまでCUI環境においての日本語化です。 もちろん、日本語環境を構築すると、その分サーバーのOS容量が大きくなってしまうので、必要に感じた人のみ下記操作を実施してみてください。 ※自己責任でお願いします。

日本語環境が必要なワケ

ちなみに、今回日本語環境にしようと思ったのは、日本語ファイル名の書籍データをlsコマンドでリストアップした時に、文字化けして、ファイル選別が出来なかったという事と、 書籍ファイルが圧縮ファイルだった場合に解凍すると、中から日本語フォルダやファイルが入っていると、下記のようなエラーが発生してしまう事象があり、日本語環境が必須になりました。 unar: Uncaught exception NSCharacterConversionException, reason: Can't get cString from Unicode string. これは、「使えない文字エンコードですよ」っていうお叱り文ですね。

Linux環境

今回作業した環境を書いておきます。(コレ以外の環境の人は別のやり方が必要です。スミマセン・・・)
OS: Ubuntu 16.04.1 LTS CPU: Intel(R) Core(TM) i7-6567U CPU @ 3.30GHz Memory: 2GB
実はこの環境、Dockerで構築した環境なので、CPUやメモリは、この参考値ではあまり関係ないですね。

日本語環境構築で行った作業履歴

まずは「locale」コマンドで現在のlang情報の確認 $ locale LANG= LANGUAGE= LC_CTYPE="POSIX" LC_NUMERIC="POSIX" LC_TIME="POSIX" LC_COLLATE="POSIX" LC_MONETARY="POSIX" LC_MESSAGES="POSIX" LC_PAPER="POSIX" LC_NAME="POSIX" LC_ADDRESS="POSIX" LC_TELEPHONE="POSIX" LC_MEASUREMENT="POSIX" LC_IDENTIFICATION="POSIX" LC_ALL= LANGに何もセットされていないことがわかります。 そして、下記コマンドを実行。 $ sudo apt-get install language-pack-ja $ sudo update-locale LANG=ja_JP.UTF-8 $ sudo export LANG=ja_JP.UTF-8 無事にファイル名も日本語で表示され、unarアーカイブも正常に動作したので、一先ず成功とします。 $ locale LANG=ja_JP.UTF-8 LANGUAGE= LC_CTYPE="ja_JP.UTF-8" LC_NUMERIC="ja_JP.UTF-8" LC_TIME="ja_JP.UTF-8" LC_COLLATE="ja_JP.UTF-8" LC_MONETARY="ja_JP.UTF-8" LC_MESSAGES="ja_JP.UTF-8" LC_PAPER="ja_JP.UTF-8" LC_NAME="ja_JP.UTF-8" LC_ADDRESS="ja_JP.UTF-8" LC_TELEPHONE="ja_JP.UTF-8" LC_MEASUREMENT="ja_JP.UTF-8" LC_IDENTIFICATION="ja_JP.UTF-8" LC_ALL= 他にもDebian環境や、CentOS環境でも、同様の事象があると思うので、今後調査しておきたいと思います。 この記事に関して、抜け漏れ追加情報などあれば、コメントください。

このブログを検索

ごあいさつ

このWebサイトは、独自思考で我が道を行くユゲタの少し尖った思考のTechブログです。 毎日興味がどんどん切り替わるので、テーマはマルチになっています。 もしかしたらアイデアに困っている人の助けになるかもしれません。