解決Linux系統中MySQL亂碼

2021-06-18 13:44:26 字數 2023 閱讀 2145

檢視核心版本: cat /proc/version

linux下mysql中文亂碼解決方法

系統環境:suse linux server 10,mysql 5.0

安裝mysql後,預設的字符集是latin1。在linux下安裝mysql不像在windows上安裝那像,可以選擇字符集(即使當時使用了預設的字符集,安裝後也可以在安裝目錄下修改my.ini檔案),但是在linux就不太一樣了。

在shell輸入mysql登陸後:

mysql>show variables like '%char%';

回車後顯示:

+----------------------+---------------------

| variable_name | value

+-----------------------+---------------------

| character_set_client | latin1

| character_set_connection | latin1

| character_set_database | latin1

| character_set_filesystem | binary

| character_set_results | latin1

| character_set_server | latin1

| character_set_system | utf8

| character_sets_dir | /usr/share/mysql/charsets/

這就是它預設的設定。

接下來到/usr/share/mysql/目錄下,將my-medium.cnf檔案(使用其它例項配置檔案也行)拷貝到/etc目錄下:

pds:~# cp /usr/share/mysql/my-medium.cnf /etc/my.cnf

pds:~# vi /etc/my.cnf

分別在如下幾項中新增字符集:

[client]

default-character-set=gb2312

[mysqld_safe]

default-character-set=gb2312

[mysqld]

default-character-set=gb2312

#default-table-type=innodb

[mysql]

default-character-set=gb2312

再重啟mysql讓配置生效:

pds:~# service mysql restart

shutting down mysql done

starting mysql done

再次登陸mysql後,檢視變數:

mysql>show variables like '%char%';

+----------------------+---------------------

| variable_name | value

+-----------------------+---------------------

| character_set_client | gb2312

| character_set_connection | gb2312

| character_set_database | gb2312

| character_set_filesystem | binary

| character_set_results | gb2312

| character_set_server | gb2312

| character_set_system | utf8

| character_sets_dir | /usr/share/mysql/charsets/

+---------------------+----------------------

如此顯示就完成了配置了,在表中插入一條含中文的記錄,就不再出現亂碼,但是原來插入的記錄很可能還是亂碼,因為原來的字符集與當前字符集不一致。

Linux系統下mysql亂碼解決

去年工作的時候總結的,今日再次用到感覺很有幫助,故與大家分享!首先進入資料庫使用 show variableslike character 檢視當前的資料庫編碼字符集 2.接下來修改mysql的my.cnf 配置檔案 一般情況下 在mysql的安裝目錄下,例如我的 usr local mysql m...

Linux中解決mysql亂碼問題

解決步驟 1.找到mysql的配置檔案 如果安裝時,忘記為mysql設定配製檔案,所以在系統中找不到 etc my.cnf。解決辦法 首先找到乙個事例配製檔案 例如 my medium find iname cnf print 找到後,根據自己的檔案路徑如 cp usr local mysql 6....

linux中mysql解決亂碼問題

第一步先檢視mysql的編碼格式 問題在於預設的客戶端和伺服器端 都預設的使用了 latin1的編碼格式 解決方式如下 在mysql下執行 set character set database utf8 set character set server utf8 然後在使用命令檢視 如果上面的方法解...