(1) CentOS7で日本語が文字化けした時の対処方法(SSH接続の場合)
(1-1) 発生状況・エラーメッセージ
(1-2) 原因
(1-3) 対処法
(1) CentOS7で日本語が文字化けした時の対処方法(SSH接続の場合)
(1-1) エラー概要
CentOS 7のサーバに対してSSH接続(TeraTerm等)した際、viエディタ等で日本語を入力しようとした際に文字化けが発生しました。
(図111)①viエディタ等で日本語を入力
↓
(図111)②入力した結果文字化けしてしまう
(1-2) 原因
原因は「ロケール」の情報を保持する環境変数「LANG」が設定されていない為でした。ロケールというのは、「言語や地域」を指定し、それに則した設定に調整するために使われる情報で、一般的には以下のような形式で表現されています。
(構文)
[言語]_[地域].[符号化方式]
(例)
ja_JP.UTF-8
ロケールの確認方法
ロケールの設定を確認するには、以下①②③のいずれかのコマンドで確認します。
①echoコマンド
echoコマンドは標準出力(プロセスが出力結果を表示する場所)に変数の値などを表示するためのコマンドです。
$ echo $LANG
(結果例)
ja_JP.utf8
(図121)
②envコマンド
envコマンドは環境変数の一覧を表示するためのコマンドです。その中から目的の「LANG」のみをgrepしています。
$ env | grep LANG
(結果例)
LANG=ja_JP.utf8
(図122)
③localectlコマンド
localectlはLinuxにおいてロケールやキーボードレイアウト設定を管理するためのコマンドです。
$ localectl status
(結果例)
System Locale: LANG=ja_JP.utf8 VC Keymap: jp106 X11 Layout: jp
(図123)
(1-3) 対処法
STEP1:設定の変更
/etc/locale.conf
/etc/default/locale
$ localectl set-locale LANG=ja_JP.utf8