最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

MySQL字符编码问题,Incorrectstringvalue_MySQL

来源:懂视网 责编:小采 时间:2020-11-09 19:43:38
文档

MySQL字符编码问题,Incorrectstringvalue_MySQL

MySQL字符编码问题,Incorrectstringvalue_MySQL:MySQL上插入汉字时报错如下,具体见后面分析。 Incorrect string value: '\xD0\xC2\xC8A\xBEW' for column 'ctnr' at row 1 MySQL字符集相关参数: character_set_server : 服务器字符集 collation_se
推荐度:
导读MySQL字符编码问题,Incorrectstringvalue_MySQL:MySQL上插入汉字时报错如下,具体见后面分析。 Incorrect string value: '\xD0\xC2\xC8A\xBEW' for column 'ctnr' at row 1 MySQL字符集相关参数: character_set_server : 服务器字符集 collation_se

MySQL上插入汉字时报错如下,具体见后面分析。
Incorrect string value: '\xD0\xC2\xC8A\xBEW' for column 'ctnr' at row 1

MySQL字符集相关参数:
character_set_server : 服务器字符集
collation_server : 服务器校对规则

character_set_database : 默认数据库的字符集
collation_database : 默认数据库的校对规则

character_set_client:服务器使用该变量取得链接中客户端的字符集

character_set_connection:服务器将客户端的query从character_set_client转换到该变量指定的字符集。
character_set_results:服务器发送结果集或返回错误信息到客户端之前应该转换为该变量指定的字符集

有两个语句可以设置连接字符集,如下:
A
SET NAMES 'charset_name' 相当于下面三句:
mysql> SET character_set_client = x;
mysql> SET character_set_results = x;
mysql> SET character_set_connection = x; #这个也设置了collation_connection的默认值x

B
SET CHARACTER SET charset_name 相当于下面三句:
mysql> SET character_set_client = x;
mysql> SET character_set_results = x;
mysql> SET collation_connection = @@collation_database;

character_set_results为NULL时,服务器对返回结果集不做任何转换
mysql> SET character_set_results = NULL;

因为字符集编码引起的问题在pg上报的错是:invalid byte sequence for encoding "UTF8",具体见参考

http://blog.csdn.net/beiigang/article/details/39582583

MySQL上字符集编码引起的问题报:Incorrect string value,具体见下面实验:

1
mysql> show variables like '%character_set%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | gbk |
| character_set_connection | gbk |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | gbk |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)

2
mysql> create table tb_tt (id int, ctnr varchar(60));
Query OK, 0 rows affected (0.06 sec)

3
mysql> show create table tb_tt;
+-------+-----------------------------------------------------------------------
-----------------------------------------------------+
| Table | Create Table
|
+-------+-----------------------------------------------------------------------
-----------------------------------------------------+
| tb_tt | CREATE TABLE `tb_tt` (
`id` int(11) DEFAULT NULL,
`ctnr` varchar(60) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 |
+-------+-----------------------------------------------------------------------
-----------------------------------------------------+
1 row in set (0.00 sec)

4
mysql> insert into tb_tt(id,ctnr) values(1,'新華網');
Query OK, 1 row affected (0.02 sec)

5
mysql> select * from tb_tt;
+------+--------+
| id | ctnr |
+------+--------+
| 1 | 新華網 |
+------+--------+
1 row in set (0.02 sec)

6
mysql> set names 'UTF8';
Query OK, 0 rows affected (0.00 sec)

7
mysql> show variables like '%character_set%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)

8
mysql> insert into tb_tt(id,ctnr) values(2,'新華網');
ERROR 1366 (HY000): Incorrect string value: '\xD0\xC2\xC8A\xBEW' for column 'ctnr' at row 1

参考:

http://dev.mysql.com/doc/refman/5.5/en/globalization.html

-----------------

转载请著明出处:
blog.csdn.net/beiigang

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文档

MySQL字符编码问题,Incorrectstringvalue_MySQL

MySQL字符编码问题,Incorrectstringvalue_MySQL:MySQL上插入汉字时报错如下,具体见后面分析。 Incorrect string value: '\xD0\xC2\xC8A\xBEW' for column 'ctnr' at row 1 MySQL字符集相关参数: character_set_server : 服务器字符集 collation_se
推荐度:
标签: 错误 问题 编码
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top