摘要:使用官方的啟用后,在進行漢字操作時,會出現,原因是由于官方的鏡像,默認采用編碼。本文將闡述如何在官方的基礎上,使其支持編碼,進而支持漢字的存儲的。解決方案新建配置文件,并為其增加編碼設置。
使用官方的docker啟用mysql56后,在進行漢字操作時,會出現Incorrect string value: ,原因是由于官方的docker鏡像,默認采用latin1編碼。本文將闡述如何在官方docker的基礎上,使其支持utf8編碼,進而支持漢字的存儲的。
解決思路官方的docker在自定義一些配置時,最多是采用環境變量的方法,于是我們來到mysql的官方docker,并點擊查看環境變量的鏈接,最終未發現配置編碼的地方。于是,我們google到如下文章:使用增加配置文件的方法來實現自定義默認編碼。回復的牛人給出的解決方案是:自定義一個配置字符編碼的配置文件,并將其掛載到mysql容器相應的位置上。
其實,我們在使用nginx的docker時,自定義的配置文件也是采用的相同的方式:自定義一個配置文件,然后將其掛載到對應默認配置文件夾中。比如mysql的為:/etc/mysql/conf.d/。如果你使用的是baidu,也是可以找到類似的更改配置的文章的,但大多數是告訴我們啟動了容器以后,如何進入容器進行更改的。其實原理是一樣的,都是去定義配置文件。只是如果我們將配置文件進行掛載的方式會更加的簡單、靈活、易維護些。
解決方案新建custom.cnf配置文件,并為其增加編碼設置。然后將其掛載到容器的默認配置文件夾中。
[mysqld] character-set-server = utf8 collation-server = utf8_unicode_ci skip-character-set-client-handshake
volumes: - ./custom.cnf:/etc/mysql/conf.d/custom.cnf
最后,強制的刷新一下配置信息:刪除原容器,重新建立容器。
docker container ps
docker container rm
docker-compose up -d
歡迎加入:河北工業大學夢云智開發團隊
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/27350.html
閱讀 1781·2021-11-25 09:43
閱讀 15411·2021-09-22 15:11
閱讀 2631·2019-08-30 13:19
閱讀 2015·2019-08-30 12:54
閱讀 1821·2019-08-29 13:06
閱讀 928·2019-08-26 14:07
閱讀 1620·2019-08-26 10:47
閱讀 3036·2019-08-26 10:41