国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術(shù)文章
文章詳情頁

關(guān)于Mysql插入中文字符報錯ERROR 1366(HY000)的解決方法

瀏覽:3日期:2023-06-28 19:41:17
目錄問題原因解決1、查看當(dāng)前庫默認(rèn)編碼格式2、將character_set_database和character_set_server設(shè)置為utf83、刪除數(shù)據(jù)庫并新建數(shù)據(jù)庫,并切到該數(shù)據(jù)庫下驗證總結(jié)問題加載含有中文字符的數(shù)據(jù)到表中出錯mysql> CREATE TABLE food( -> id INT(10) PRIMARY KEY AUTO_INCREMENT NOT NULL, -> NAME VARCHAR(20) NOT NULL, -> company VARCHAR(30) NOT NULL, -> price FLOAT, -> produce_time YEAR, -> validity_time INT(4), -> address VARCHAR(50) -> );Query OK, 0 rows affected (0.07 sec)mysql> INSERT INTO food(id,NAME,company,price,produce_time,validity_time,address) VALUES(4,'FF咖啡','FF咖啡廠',20,2002,5,'天津');ERROR 1366 (HY000): Incorrect string value: '\xE5\x92\x96\xE5\x95\xA1' for column 'NAME' at row 1原因mysql默認(rèn)編碼latin1是不支持中文字符的,所以報錯。

解決通過設(shè)置編碼字符為utf8,從而支持中文字符。1、查看當(dāng)前庫默認(rèn)編碼格式mysql> show variables like '%char%';+--------------------------------------+----------------------------+| Variable_name| Value |+--------------------------------------+----------------------------+| character_set_client | utf8 || character_set_connection | utf8 || character_set_database | latin1 || character_set_filesystem | binary || character_set_results| utf8 || character_set_server | latin1 || character_set_system | utf8 || character_sets_dir | /usr/share/mysql/charsets/ || validate_password_special_char_count | 1 |+--------------------------------------+----------------------------+9 rows in set (0.00 sec)2、將character_set_database和character_set_server設(shè)置為utf8mysql> set character_set_database=utf8;Query OK, 0 rows affected, 1 warning (0.02 sec)mysql> set character_set_server=utf8;Query OK, 0 rows affected (0.00 sec)3、刪除數(shù)據(jù)庫并新建數(shù)據(jù)庫,并切到該數(shù)據(jù)庫下因為只有在編碼格式改變以后,再建庫才會生效。drop database student;create database student;use student;

驗證

建表、添加數(shù)據(jù)

mysql> create table Student( -> Sno int not null auto_increment primary key, -> Sname varchar(10) not null, -> Sex char(1) not null, -> Sage tinyint(100) not null, -> Sdept char(4) not null)comment = '學(xué)生表';Query OK, 0 rows affected (0.03 sec)mysql> insert into Student values ( 1,'李勇', '男', 20, 'CS');Query OK, 1 row affected (0.02 sec)

ok,成功解決

總結(jié)

如果某表中需要添加中文字符時需要在其庫之前將character_set_database和character_set_server設(shè)置為utf8

set character_set_database=utf8;set character_set_server=utf8;

然后再建庫,建表插入中文字符數(shù)據(jù)

到此這篇關(guān)于關(guān)于Mysql插入中文字符報錯ERROR 1366(HY000)的解決方法的文章就介紹到這了,更多相關(guān)Mysql中文字符報錯ERROR1366內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: MySQL 數(shù)據(jù)庫
主站蜘蛛池模板: 丰原市| 都安| 洛阳市| 阿城市| 邵东县| 永德县| 潜江市| 永胜县| 色达县| 双峰县| 宜阳县| 铁力市| 界首市| 贵阳市| 高安市| 靖宇县| 武定县| 台东县| 京山县| 宁蒗| 裕民县| 遂平县| 普兰县| 唐海县| 肇源县| 白城市| 玛曲县| 华坪县| 四会市| 博兴县| 东辽县| 平度市| 石家庄市| 柯坪县| 芦溪县| 会东县| 获嘉县| 沙洋县| 景德镇市| 滁州市| 仙桃市|