Rainbow Engine

IT技術を分かりやすく簡潔にまとめることによる学習の効率化、また日常の気付きを記録に残すことを目指します。

CentOS Linux

CentOS7で日本語が文字化けした時の対処方法(SSH接続の場合)

投稿日:2021年3月7日 更新日:

<目次>

(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)

このコマンドをにより、サーバ側の符号化形式(UTF-8等)は何を使用しているか?を確認する事ができます。
 
日本語を表示できるように対応済であれば、表示結果は「ja_JP.UTF-8」等の表示になっているはずです。
(図124)
 
逆に表示結果が「C」の場合、システムに対して基本のASCII文字のみを考慮し、UTF-8は考慮しないように指示する事になってしまいます。よって、この部分を訂正する必要があります。
(図125)

目次にもどる

(1-3) 対処法

原因に記載の通り、LANG環境変数が「=C」になっていたため、そちらを修正(ロケールファイルの修正)をしていきます。

STEP1:設定の変更

■方法①:設定ファイルの編集
 
以下のロケールファイルを直接編集する事で、日本語表示にする事が出来ます。
 
(1)CentOS/RHELの場合
/etc/locale.conf
 
(2)Ubuntu/Debianの場合
/etc/default/locale
 
このファイルに「LANG=ja_JP.utf8」を追記します。
 
■方法②:localectlコマンド
 
あるいは、ロケール設定等を制御する「localectl」コマンドでも設定可能です。
$ localectl set-locale LANG=ja_JP.utf8

 

(図131)

 

STEP2:再ログイン

再度ログインすると、今度は日本語での編集が可能になります。
 
(図132)ログイン
 
(図133)日本語が正しく表示される
 

Adsense審査用広告コード


Adsense審査用広告コード


-CentOS, Linux

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

C++をLinuxでコンパイルする方法について

  <目次> (1) C++をLinuxでコンパイルする方法について  (1-1) STEP0:【事前準備】ターミナル機能の準備(ターミナル、Teraterm、Putty)  (1-2) S …

Linuxで環境変数を永続化させる方法と手順について

<目次> (1) Linuxで環境変数を永続化させる方法と手順について  (1-1) 実現方法  (1-2) 設定手順 (1) Linuxで環境変数を永続化させる方法と手順について Linuxにおいて …

VNC ServerとGNOMEデスクトップの概念や基本的な仕組みについて

(0)目次&概説 (1) 記事の目的・概要 (2) アーキテクチャ  (2-1) VNC Serverとは?  (2-2) Graphical Desktop Environmentとは?  (2-3 …

CentOS7でVNC-Serverを使ってリモートデスクトップ環境を構築する手順

(0)目次&概説 (1) 記事の目的  (1-1) 目的  (1-2) 前提条件 (2) 実施手順  (2-1) 必要資源のインストール   (2-1-1) “tigervnc-serve …

パイプ通信とは?概要やサンプルプログラムをご紹介

  <目次> (1) パイプ通信とは?概要やサンプルプログラムをご紹介  (1-1) パイプ通信の概要  (1-2) パイプ通信の構文  (1-3) パイプ通信のサンプルプログラム①(単一プ …

  • English (United States)
  • 日本語
Top