首先在宿主機輸入env 查看LANG 或者 locale 查看 LANGmysql
發現本地使用的字符集是: zh_CN.UTF-8linux
而後執行 docker exec -it mysql bashsql
進入docker的mysql 的 bash 子程序控制臺, 執行locale 查看mysql 的字符集 docker
發現問題!!!bash
本地的LANG與docker裏mysql的LANG不一致!!! (ps: "POSIX"是UNIX標準傳統字符集)網絡
解決方法:spa
1. 查看容器承載系統支持的全部字符集, 指令 : locale -ablog
2. 把POSIX修改成C.UTF-8, 參考網絡文獻, 以下提供三種修改方式: it
① 有vi 的話, 能夠直接編輯profile 文件class
② 直接設置環境變量 LANG=C.UTF-8 (有時候並無效果... 很頭疼)
③ Docker啓動時, 指定環境變量 (限時性, 下次啓動還得設置, 不推薦)
指令: docker exec -it mysql env LANG=C.UTF-8 bash (隨後從新進入)
小知識: linux中的mysql 不能直接使用linux系統命令clear 來清屏, 能夠使用 system clear !!!!