mysql容器中顯示亂碼 mysql容器亂碼問題

2021-10-19 04:40:27 字數 1471 閱讀 4713

在docker-compose.yml檔案中定義mysql匯入utf-8的萬國碼

services:

mysql:

image:mysql:5.7

#   command: [『--character-set-server=utf8mb4『, 『--collation-server=utf8mb4_unicode_ci『]

volumes:

-./data/docker/mysql:/var/lib/mysql

-./mysql/:/docker-entrypoint-initdb.d/

-./conf/mysqld.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf

environment:

-"mysql_database=apigateway-ai"

-"mysql_password=123456"

-"mysql_root_password=root"

ports:

-"3306:3306"

restart:always

logging:

driver: "json-file"

options:

max-size: 「1g」

啟動spring boot框架後,web平台顯示亂碼。

進入mysql容器,檢視字符集mysql> show variables like 『%char%『;

發現character_set_client和character_set_server等字符集仍然不是utf-8;

解決:在宿主機的cnf檔案中定義字符集default-character-set = utf8mb4,再對映到容器裡,同時取消compose檔案中匯入utf-8的command命令。

# for explanations see

# [client]

default-character-set = utf8mb4   #定義字符集

[mysql]

default-character-set = utf8mb4   #定義字符集

[mysqld]

pid-file= /var/run/mysqld/mysqld.pid

socket= /var/run/mysqld/mysqld.sock

datadir= /var/lib/mysql

character-set-client-handshake = false

character-set-server = utf8mb4

collation-server = utf8mb4_unicode_ci

lower-case-table-names=1    #解決資料庫讀取區分大小寫問題

重啟docker後,web平台顯示正常。

結束。原文:

MySQL 中文顯示亂碼

mysql 中文顯示亂碼 在hibernate.cfg.xml中應該這樣寫 property name connection.url jdbc mysql localhost 3306 test?useunicode true characterencoding utf 8 property 如果用...

WebBrowser中顯示亂碼

最近用webbrowser巢狀網頁,同時不影響巢狀的頁面裡面的操作,並往網頁裡面傳引數,其中引數中又中文。但是在網頁裡面顯示引數時卻顯示亂碼。於是用convert.tobase64string encoding.utf8.getbytes paras 對要傳的引數進行序列化編碼。然後用encodin...

WebBrowser中顯示亂碼

最近在開發cs專案的時候,因為巢狀了乙個網頁,要用到webbrowsr,經過查詢,發現下面的解決方法。共享之 最近用webbrowser巢狀網頁,同時不影響巢狀的頁面裡面的操作,並往網頁裡面傳引數,其中引數中又中文。但是在網 頁裡面顯示引數時卻顯示亂碼。於是用convert.tobase64stri...