欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2023年07月07日 10:54:57   作者:珞沫  
這篇文章主要介紹了關(guān)于Mysql插入中文字符報(bào)錯(cuò)ERROR 1366(HY000)的解決方法,在我們?nèi)粘J褂胢ysql的過程中會(huì)經(jīng)常遇到各種報(bào)錯(cuò),今天我們就來(lái)看一下ERROR 1366報(bào)錯(cuò)的解決方法吧

問題

  • 加載含有中文字符的數(shù)據(jù)到表中出錯(cuò)
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是不支持中文字符的,所以報(bào)錯(cuò)。

在這里插入圖片描述

在這里插入圖片描述

解決

  • 通過設(shè)置編碼字符為utf8,從而支持中文字符。

1、查看當(dāng)前庫(kù)默認(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è)置為utf8

mysql> 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ù)庫(kù)并新建數(shù)據(jù)庫(kù),并切到該數(shù)據(jù)庫(kù)下

  • 因?yàn)橹挥性诰幋a格式改變以后,再建庫(kù)才會(huì)生效。
drop database student;
create database student;
use student;

在這里插入圖片描述

驗(yàn)證

建表、添加數(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é)

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

set character_set_database=utf8;
set character_set_server=utf8;

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

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

相關(guān)文章

  • mysql開啟慢查詢(EXPLAIN SQL語(yǔ)句使用介紹)

    mysql開啟慢查詢(EXPLAIN SQL語(yǔ)句使用介紹)

    這篇文章主要介紹了mysql開啟慢查詢 EXPLAIN SQL語(yǔ)句,需要的朋友可以參考下
    2018-01-01
  • 最新評(píng)論