向mysql 插入中文数值报错
報錯: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 variables like '%char%';? 或者show?variables?like?'character_set_database';
修改數據庫編碼格式為 utf8
alter database <數據庫名> character set utf8;
創建數據庫?CREATE DATABASE IF NOT EXISTS paas-test default CHARACTER utf8 COLLATE utf8_general_ci;
?
總結
以上是生活随笔為你收集整理的向mysql 插入中文数值报错的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 消息称大众汽车已与华为进行谈判,希望在中
- 下一篇: 部落对战联赛奖励是什么机制