Dockerはターミナルで中国語を入力できない問題を解決します

Dockerはターミナルで中国語を入力できない問題を解決します

序文:

ある日、DockerでMySQLサービスを構築したところ、MySQLのコマンドラインで中国語の文字が入力できないことに気付きました。中国語の文字も?に置き換えられていました。最初はMySQLの文字セットの問題だと思いました。確認しても問題は解決しませんでした。コンテナターミナルを終了して、中国語の文字も入力できないことに気付きました。システムの文字セットに問題があると推測しました。解決プロセスは次のように記録されています。

解決前:

# コンテナに入り、文字セットを表示します [root@master2 ~]# docker exec -it b18f56aa1e15 /bin/bash
root@b18f56aa1e15:/# ロケール
言語=
言語=
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=
# コンテナでサポートされている文字セットを表示します root@b18f56aa1e15:/# locale -a
C
C.UTF-8
POSIX

中国語の文字を入力できません: システムは POSIX 文字セットを使用していますが、これは中国語の文字をサポートしていません。一方、C.UTF-8 は中国語の文字をサポートしています。この問題は、システムの環境 LANG を「C.UTF-8」形式に変更することで解決できます。

中国語を入力するには、次のようにコンテナに入るだけです: docker exec -it b18f56aa1e15 env LANG=C.UTF-8 /bin/bash

[root@master2 ~]# docker exec -it b18f56aa1e15 env LANG=C.UTF-8 /bin/bash
root@b18f56aa1e15:/# こんにちはroot@b18f56aa1e15:/# mysql -uroot -p
パスワードを入力してください: 
MySQL モニターへようこそ。コマンドは ; または \g で終わります。
MySQL接続IDは80です
サーバーバージョン: 5.7.17-log MySQL コミュニティサーバー (GPL)

Copyright (c) 2000, 2016, Oracle およびその関連会社。無断複写・転載を禁じます。

OracleはOracle Corporationおよびその関連会社の登録商標です。
その他の名称は各社の商標である場合があります。
所有者。

ヘルプを表示するには、「help;」または「\h」と入力します。現在の入力ステートメントをクリアするには、「\c」と入力します。

mysql> こんにちは

知らせ:

この変更は一時的なものです。変更を永続的にするには、コンテナを作成するときに Dockerfile で設定する必要があります。
この方法は、K8s でポッドに入るときに中国語の文字を入力できないという問題も解決できます。

以上が、ターミナルで中国語の文字を入力できない問題を Docker がどのように解決するかの詳細です。Docker が中国語の文字を入力できない問題を解決する方法の詳細については、123WORDPRESS.COM の他の関連記事に注目してください。

以下もご興味があるかもしれません:
  • Docker での環境変数の使用とよくある問題の解決策
  • Docker がポート 2375 を公開し、サーバー攻撃を引き起こす問題と解決策
  • DockerでJenkinsをインストールし、初期プラグインのインストール失敗の問題を解決する
  • Dockerコンテナが外部ネットワークにpingできない問題を解決する
  • Docker環境でJenkinsを設定すると、タスクをビルドするときにコンソールログに文字化けした中国語の文字が表示されます
  • docker ログが取得できない問題の解決方法
  • Ubuntu 19でdockerソースをインストールできない問題を共有する
  • Dockerに関するよくある質問

<<:  MySQL監視グループレプリケーションについて簡単に説明します

>>:  process.env.NODE_ENV 本番環境モードを設定する方法

推薦する

W3C チュートリアル (14): W3C RDF および OWL アクティビティ

RDF と OWL は、2 つの重要なセマンティック ウェブ テクノロジーです。 RDF と OWL...

docker compose の記述ルールについての簡単な説明

この記事ではクラスタの展開に関連する内容は紹介しませんバージョン制約Docker エンジン >...

LeetCode の SQL 実装 (182. 重複するメールボックス)

[LeetCode] 182.重複メールPerson という名前のテーブル内のすべての重複メールを...

Vue3.0 で Vuex 状態管理を開始する方法をすぐに習得します

Vuex は、Vue.js アプリケーション専用に開発された状態管理パターンです。集中型ストレージを...

React の調整アルゴリズム Diffing アルゴリズム戦略の詳細な説明

目次アルゴリズム戦略単一ノードの差分配列ノードの差分キー値の使用要件アルゴリズム戦略React の調...

MySQL データ型 DECIMAL の詳細な分析

序文:金額の保存など、小数点数を保存し、精度要件がある場合、通常は DECIMAL フィールド タイ...

vue.jsは画像のURLに従って画像をダウンロードします

最近、フロントエンドの vue.js ドッキング機能モジュールに取り組んでいたとき、画像をダウンロー...

コメント付きのスネークゲームを実装する js

この記事の例では、スネークゲームを実装するためのjsの具体的なコードを参考までに共有しています。具体...

React 構成 px 変換 rem メソッド

関連する依存関係をインストールするnpm i lib-flexible --save npm i p...

Matlab による JavaScript プログラミング、重心アルゴリズムによる位置決め学習

目次Matlab セントロイドアルゴリズムMatlab はクローズドな商用ソフトウェアであり、米国政...

CSSインジェクションの知識の要約

最近のブラウザでは、CSS 内で JavaScript を実行することはできなくなりました。以前は、...

Docker に Kong ゲートウェイをインストールする方法の例

1. Dockerネットワークを作成する docker ネットワーク作成 kong-net 2. デ...

img 画像タグに alt 属性を付与する必要がありますか?

img 画像タグに alt 属性を追加しますか?画像 img タグの alt 属性を見落とすことはよ...

JavaScript でシンプルな Web 時計を実装する

JavaScript を使用して Web ページ クロックを実装します。効果は次の図に示されています...

Web開発で使用される基本的な概念と技術の紹介

本日は、Web 開発で使われる基本的な概念と技術を初心者向けに紹介します。A から Z まで合計 2...