mysql亂碼原理 MySQL中亂碼原理分析

2021-10-19 18:44:22 字數 772 閱讀 1385

問題描述:假定建立資料庫時採用的是utf8編碼方式 create database huangweiyi default character set utf8;

經常在windows的cmd視窗中插入帶有中文的記錄到mysql表中時會出現插入錯誤,或者在查詢mysql中資料顯示是出現亂碼

首先插入中文出現錯誤,這是由於插入中文的編碼與mysql服務端接收的編碼方式不一致造成的,

在cmd視窗中,我們可以通過左上角的屬性檢視當前cmd視窗中的編碼方式:

這說明,資料在cmd視窗中以gbk編碼方式顯示的。

在cmd視窗中插入一條帶中文的資料時,其編碼的方式為gbk,如果mysql伺服器端接收編碼的方式不一致,則出現插入出錯,解決辦法為,將mysql服務端接收編碼的方式改為gbk即可,具體為:

set character_set_client=gbk;

當在cdm視窗中查詢mysql中的資料時,出現亂碼,這是由於mysql中輸出資料的編碼方式與cmd中顯示資料的方式不一致造成的,

可以通過設定:

set character_set_results=gbk;

來解決cmd解碼方式不一致的問題。

對系統中兩個內建的變數的解釋:

character_set_client   :mysql伺服器端接收資料的編碼方式

character_set_results :mysql伺服器端輸出資料的編碼方式

只***mysql接收輸入的編碼與客戶端輸入的編碼方式一致,mysql輸出編碼方式與客戶端顯示的編碼方式一致,才不會出現亂碼情況。

mysql中中文問題 mysql中中文亂碼的問題

1 在使用mysql時,會出現中文亂碼現象。如下圖 先在cmd中查詢預設的編碼格式 從上圖可以看到在database和sever兩個選項中編碼格式為latin1 上圖也可以看到紅框部分預設的是瑞典latin1,下面是換成我們自己的編碼,如utf8 1.set names utf8 它相當於下面的三句...

ror 中的mysql亂碼

show table status where collation like la 發現大家都是latin1不是utf8的 傻乎乎的全改了alter table table nameconvert to character set utf8 collate utf8 general ci 網上說 e...

WampServer中MySQL中文亂碼解決

wampserver中mysql中文亂碼解決 1 修改mysql的my.ini檔案 在 client 下面增加 default character set utf8 在 mysqld 下面增加 character set server utf8 2 建立資料庫 示例建立資料庫 建立資料庫php ph...