DockerバージョンMysqlコンテナでは中国語入力の解決方法はサポートされていません

1423 ワード

設備の安全のため、現在mysqlなどのコンテナポートはホストにマッピングされず、mysqlのメンテナンス操作を行う場合は、mysqlコンテナ内部に入って行う必要があります.このとき中国語を入力できないという問題があり、解決方法を詳しく記録します.
一.mysqlの公式ミラーが起動したコンテナ内の文字セットのステータスを表示
1.まず容器内部に入る
docker exec -it mysql /bin/bash

2.文字セットのステータスの表示
locale
root@mysql:/# locale
LANG=
LANGUAGE=
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=

デフォルトはPOSIX文字セットで、この従来の文字セットは中国語をサポートしていないため、私たちの核心的な操作は文字セットを中国語をサポートする文字セットに変更することです.
3.コンテナベアラシステムでサポートされているすべての文字セットの表示
locale -a
root@mysql:/# locale -a
C
C.UTF-8
POSIX

C.UTF-8という文字セットがあり、中国語をサポートできることがわかりました.次に、ベアラシステムのデフォルト文字セットをC.UTF-8に変更します.
4.各種修正方法
①profileファイルを修正し、環境変数を再ロードする
これは私が採用した方法で、viがあればprofileファイルを直接編集することができます.
echo "export LANG=C.UTF-8" >>/etc/profile && source /etc/profile

②環境変数を直接設定するが使いづらい場合がある
LANG=C.UTF-8

③Dockerコンテナ起動時、環境変数を指定
docker run -d mysql env LANG=C.UTF-8

5.仕事を終える
Enjoy it !