mysql中文編碼問題 解決Mysql中文亂碼問題

2021-10-19 05:58:33 字數 1875 閱讀 8452

參考原文:

我是在linux下用mysql5.6,通過程式向資料庫插入資料,debug時程式裡的中文是正常的,插入到資料庫後是亂碼;

以下是我的修改步驟:

1、命令:show variables like 『character%』;檢視資料庫編碼

顯示:| variable_name | value |

| character_set_client | utf8 |

| character_set_connection | utf8 |

| character_set_database | utf8 |

| character_set_filesystem | binary |

| character_set_results | utf8 |

| character_set_server | latin1 |

| character_set_system | utf8 |

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

說明:我的問題就在character_set_server,需要將其修改為character_set_server=utf8

set character_set_client = utf8;

set character_set_results = utf8;

set character_set_connection = utf8;

set character_set_server=utf8;

這三條語句只是在本次連線時有效,關掉資料庫重新連線後character_set_server又變成latin1了

2,修改配置檔案

linux下找到 /etc/my.cnf

修改my.cnf的內容;

命令:vi my.cnf;

在[mysqld]欄位裡加入character-set-server=utf8,如下:

[mysqld]

port = 3306

socket = /var/lib/mysql/mysql.sock

character-set-server=utf8

儲存命令:  按esc 後輸入":wq";

3,重啟mysql服務

命令:service mysql restart

(有的版本重啟命令:service mysqld restart,略有差別)

4,重新檢視字符集

mysql> show variables like 'character%';

| variable_name            | value                      |

| character_set_client     | utf8                       |

| character_set_connection | utf8                       |

| character_set_database   | utf8                       |

| character_set_filesystem | binary                     |

| character_set_results    | utf8                       |

| character_set_server     | utf8                       |

| character_set_system     | utf8                       |

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

從新插入資料可以正常顯示了!

Mysql中文編碼問題解決

最近在進行hive的元資料中文注釋的同步,遇到了mysql中文編碼是亂碼問題,現在總結一下mysql編碼的基本原理。我們傳統意義上的說的編碼其實是指字符集,它包括兩個方面,一是儲存字元,二是對映關係,也就是真正的編碼,各種字符集的儲存字元都差不多,而編碼卻各不相同,是真正有威力的地方。mysql的字...

mysql編碼問題解決

首先需要在建立表的時候,將編碼規定。具體如下 create databasetest character set utf8 collate utf8 general ci engine innodb default charset utf8 補救措施 1.檢視預設編碼集 show variables...

MySQL中文亂碼問題解決

mysql 4.1及以後的版本開始支援多語言,這個所謂的多語言,就是在輸入輸出時mysql會替你做編碼轉換。而這個轉換規則就是由客戶端編碼和伺服器端編碼來決定的。編碼轉換的規則就是 在輸入資料時將編碼由 客戶端編碼 轉換為 伺服器端編碼 輸出時將資料由 伺服器端編碼 轉換為 客戶端編碼 mysql ...