MENU
  • VPS(レンタルサーバ)比較
  • ITエンジニアの転職
  • IT技術入門(Engineers.LOG)
カテゴリー
  • IT関連 (623)
    • Bootstrap (2)
    • クラウド (4)
    • サーバー技術 (185)
    • ストレージ (7)
      • NetApp (7)
    • ネットワーク技術 (91)
      • Cisco (36)
      • Juniper (18)
      • 負荷分散装置 (17)
    • パソコン関連 (92)
      • MAC (25)
      • Windows (54)
    • プログラミング (154)
      • Ansible (11)
      • C言語 (23)
      • Python (111)
        • Django (20)
    • 仮想化 (88)
      • Docker (63)
      • VMware (23)
  • VPS (200)
    • ABLENET VPS (16)
    • Amazon Lightsail(VPS) (2)
    • ConoHaVPS (37)
    • mixhostVPS (4)
    • WebARENAIndigo (16)
    • XServerVPS (34)
    • お名前.com VPS (12)
    • さくらのVPS (24)
    • カゴヤクラウドVPS (13)
    • シンVPS (7)
  • レンタルサーバー (56)
    • エックスサーバー (38)
  • 光回線 (8)
  • 技術スキルアップ開発・学習 (7)
    • Envader (2)
    • RareTECH (2)
    • Udemy (3)
もう現役20年超えましたー。経験値ならだれにも負けないエンジニア技術ブログ
インフラエンジニアの技術LOG
  • VPS(レンタルサーバ)比較
  • ITエンジニアの転職
  • IT技術入門(Engineers.LOG)
インフラエンジニアの技術LOG
  • VPS(レンタルサーバ)比較
  • ITエンジニアの転職
  • IT技術入門(Engineers.LOG)
  1. ホーム
  2. IT関連
  3. サーバー技術
  4. 【CentOS8】Dockerコンテナでviやvimで日本語が文字化けするときの対処方法

【CentOS8】Dockerコンテナでviやvimで日本語が文字化けするときの対処方法

2020 5/21
サーバー技術
2020年5月21日

Linux系のマシンでWebサーバーを立てhtmlファイルをviやvimで編集している際に、日本語入力が文字化けすることがあります。

今回、DockerコンテナでWebアプリを立ち上げてページを表示すると日本語が文字化けしていたので対応方法をまとめました。
CentOSで構築している方は参考にしてください。

目次
安くて高速!高性能VPSで快適開発!
最速5分でサーバー構築
>>>こちらをチェック

エンジニア必見! 技術力を伸ばすVPS徹底比較
>>>VPS比較

「vi」や「vim」で日本語が文字化けする事象を解消する方法

CentOS8で構築した、Djangoの環境でvi、vimによるhtmlファイルの編集をした際、以下のようにページで日本語が文字化けするようになりました。

編集したhtmlファイルを確認すると以下のようにハイライトされているところが日本語が文字化けとなっています。

<!DOCTYPE html>
<html lang="jp">
  <head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
    <title>^[$B%F%9%H^[(B</title>

    <!-- Bootstrap -->
    <link href="css/bootstrap.min.css" rel="stylesheet">

    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
    <!--[if lt IE 9]>
      <script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
    <![endif]-->
  </head>
  <body>
    <h1>Hello, world!</h1>
    <h1>^[$B$3$s$K$A$o^[(B</h1>

    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
    <!-- Include all compiled plugins (below), or include individual files as needed -->
    <script src="js/bootstrap.min.js"></script>
  </body>
</html>

※上記はvimで編集したファイルですが、viで見ると文字化けをしていることがわかりました。

日本語が文字化けする原因はエンコーディングの判別に失敗している

結論を言うと、文字化けの原因は、viやvimをファイルを編集する際、エンコーディングの判別に失敗しているということです。

試しに、以下のコマンドをファイル編集画面で実行します。

:set enc?

正常だと以下のようにエンコーディングが判別されて表示されます。

encoding=utf-8

エンコーディングの判別に失敗している場合は以下のような値が返ってきます。

encoding=latin1

日本語の文字化けを解消する方法

上記のように、エンコーディングが「latin1」と表示された場合、viやvimでは日本語入力をしても文字化けが解消されません。

エンコーディングを「UTF-8」と解釈させる必要があるので、vi、vim編集画面で以下のコマンドを実行します。

:set encoding=utf-8

このコマンドを実行し、ファイルを日本語で入力すると以下のように日本語が文字化けせずに表示されます。

vimrcファイルの編集

上記のように毎回vim編集時にエンコーディングの変更をしたくないので以下コマンドで事前設定をしておきます。

$ vi ~/.vimrc
" vim の独自拡張機能を使用 (vi との互換性無し)
:set nocompatible
" 文字コードを指定
:set encoding=utf-8

" ファイルエンコードの指定
:set fileencodings=utf-8,iso-2022-jp,euc-jp,sjis

" 自動認識させる改行コードの指定
:set fileformats=unix,dos,mac

私の設定は上記で、次回以降はvimで問題なく編集できるようになりました。

日本語が文字化けをする際は参考にしてください。

あわせて読みたい
サーバーエンジニアへの構築手順書 サーバエンジニアにおすすめの構築手順をまとめたページです。 サーバ初心者の方。じぶんも初心者なので、そっから目線で構築した設計手順書となっています。 ご興味の...
エンジニアスキルをアップする勉強法

ITエンジニアの開発・検証・学習としてインターネット上で専用のサーバ(VPS)を利用しましょう!
実務経験はVPSで学べます。

あわせて読みたい
現役エンジニアがおすすめするVPSレンタルサーバ比較(高速SSD限定) 格安VPS比較(2025年最新版)

サーバー技術
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする コメントをキャンセル

email confirm*

post date*

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)



検索
カテゴリー
新着記事
  • XServerVPS アニメ風 男の子 プログラミングをしている VPSを利用している 楽しそうにしている
    XServerVPSで証明書(SSL)を取得する方法
    2025年3月24日
    XServerVPS
  • レンタルサーバ アニメ風 女の子 楽しんでパソコンをしている 目がキラキラ
    WordPressがレンタルサーバよりVPSで利用する方がおすすめの理由
    2025年3月19日
    VPS
  • VPS レンタルサーバー アニメ風 女の子 プログラミングをしている VPSを利用している 楽しそうにしている
    VPSとクラウドの違いとは?初心者向けにわかりやすく解説
    2025年3月5日
    VPS
  • シンVPS アニメ風 女の子 パソコン プログラミングをしている VPSを利用している 楽しそうにしている
    シンVPSはWindows serverを利用できない。その理由と利用できるOSは?
    2025年3月4日
    シンVPS
  • シンVPS アニメ風 女の子 パソコン プログラミングをしている VPSを利用している 楽しそうにしている
    シンVPSでゲームを利用する環境はあるのか
    2025年3月4日
    シンVPS
  • シンVPS アニメ風 女の子 パソコン プログラミングをしている VPSを利用している 楽しそうにしている
    シンVPSのサイトの表示速度は他社に比べて早いのか?
    2025年3月4日
    シンVPS
目次
目次