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

2017年10月11日

Linux サーバー テクノロジー

t f B! P L
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環境でも、同様の事象があると思うので、今後調査しておきたいと思います。 この記事に関して、抜け漏れ追加情報などあれば、コメントください。

このブログを検索

プロフィール

自分の写真
プログラミングとサーバーを心の底から楽しむクリエーターです。 経営者であり、開発者でもありますが、得意としているのは、アイデア創出で、出来高は無限大です。

ブログ アーカイブ

QooQ