向mysql 插入中文數值報錯

2021-08-31 20:51:52 字數 1042 閱讀 1715

報錯:error 1366: incorrect string value: '\xe6\xb5\x8b\xe8\xaf\x95' for column 'description' at row 1

原因是資料庫字段沒有設定編碼為utf8而是預設的lanti

(1)檢視表中的各字段的屬性: show full columns from table_name;

如果看到每個欄位都是lati, 則執行以下語句:

alter table table_name convert to character set utf8 collate utf8_general_ci;

(2)同時檢查一些變數collation_connection、collation_database、collation_server是否都是utf8_general_ci

檢查的語句為:show variable like 'collation%';

修改的語句為:set collation_connection=utf8_general_ci

(3)同時檢查一些變數character的相關變數是否為utf8_general_ci

檢查的語句為:show variable like 'character%';

修改語句如:set character_set_database=utf8;

檢視資料庫編碼

show variableslike'%char%';  或者show variables like 'character_set_database';

修改資料庫編碼格式為 utf8

alterdatabase《資料庫名》charactersetutf8;

建立資料庫 create database if not exists paas-test default character utf8 collate utf8_general_ci;

Mysql插入中文報錯

插入語句 insert into person id,name,age,values 1,黃蓉 24,女 報錯 incorrect string value xbb xc6 xc8 xd8 for column name at row 1 分析 這是中文亂碼的原因,深層原因是utf 8編碼有可能是兩...

向Mysql插入中文以後顯示「???」

mysql 連線url中useunicode true characterencoding utf 8 的作用 useunicode true characterencoding utf 8 但是為什麼要新增呢?新增的作用是 例如 mysql資料庫用的是gbk編碼,而專案資料庫用的是utf 8編碼。...

MySQL插入中文資料報錯

在運算元據庫插入中文會出現如下錯誤 error 1366 hy000 incorrect string value xc4 xe3 xba xc3 for column username at row 1 解決方案 在cmd中檢視當前資料庫的編碼設定 server db client conn 各自...