Linuxサーバーが文字化けする(Ubuntu 16.04.5 LTS)

どうもご無沙汰してました。いろいろ忙しくてブログ更新できてませんでした。ネタは集まってるんですけどね...。

また頑張って書いていきます(書けるときに)

症状

事の発端は、最近全く手を入れてなかったサーバーにログインしたことが始まりだった。ログインしたときに、今まで目にしたことのない警告?みたいなのが表示されてて「何かのワーニングだろー」って思って見逃してたんだけど。

そしたら、いろいろやってるうちにコンソールに表示される日本語がすべて文字化けするわけですよ。

原因

一応原因として分かったのはLC_CTYPEという変数が何かの拍子に変更されていたことでした。

日本語表示ができているサーバーではLC_CTYPE=ja_JP.UTF-8になっているようです。それがなぜか自分のところはLC_CTYPE=UTF-8となっていました。

しかも!!!set | grep LCと打てばシェルの設定項目の中からLCが含まれるものだけ表示してくれるのですが(以下は対策済みの画像です...。) f:id:nomunomu0504:20181012004534p:plain

対策前はLC_CTYPE=UTF-8になってましたね。local LC_CTYPE=C;とかもlocalだから問題ないかと無視ししてるが(大丈夫なのか?)

解決方法

とりあえず暫定的な手段として~/.bashrcexport LC_CTYPE=ja_JP.UTF-8と記述して半強制的に変更することで解決しました。

P.S. 誰か根本的な解決方法知ってたらオシエテクダサイ。