mysql里面的utf8,不支持中文吗? 在客户端执行set names gbk 你的客户端编码是gbk 而不是utf8 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 同意楼上的,CMD窗口的字符编码和操作系统是相同的,并不是UTF-8 mysql> set names utf8;Query OK, 0 rows affected (0.00 sec)mysql> insert into t select 2 as a ,'天才' as b;ERROR 1366 (HY000): Incorrect string value: '\xCC\xEC\xB2\xC5' for column 'b' at row 1mysql> 为啥要设置gbk啊,我的字符编码是utf8呢 为啥要设置gbk啊,我的字符编码是utf8呢mysql有服务端编码和客户端编码概念之分前者就是你认为的UTF8码。所有的MYSQL客户端不做任何字符转换,这个字符转换工作由服务器来执行,所以每个客户端在执行前,都要执行SET NAMES XXX 告诉服务器:客户端的编码是什么,以便MYSQL服务器能转换成功。你的MYSQL客户端,明显是GBK或ansi环境,所以你必须加上一条设置客户端编码的语句set names gbk , 告诉MYSQL服务器正确的客户端编码。 为啥要设置gbk啊,我的字符编码是utf8呢mysql有服务端编码和客户端编码概念之分前者就是你认为的UTF8码。所有的MYSQL客户端不做任何字符转换,这个字符转换工作由服务器来执行,所以每个客户端在执行前,都要执行SET NAMES XXX 告诉服务器:客户端的编码是什么,以便MYSQL服务器能转换成功。你的MYSQL客户端,明显是GBK或ansi环境,所以你必须加上一条设置客户端编码的语句set names gbk , 告诉MYSQL服务器正确的客户端编码。mysql> set names utf8;Query OK, 0 rows affected (0.00 sec)mysql> insert into t select 2 as a ,'天才' as b;ERROR 1366 (HY000): Incorrect string value: '\xCC\xEC\xB2\xC5' for column 'b' at row 1mysql> set names utf8;无效了啊。 为什么set names utf8;无效啊 ? 为什么是set names utf8?应该是 set names gbk, 你的客户端明显是ansi 环境啊道理前面讲清楚了,仔细看看。 先执行 set names 'gbk'; http://blog.csdn.net/ACMAIN_CHM/archive/2009/05/12/4174186.aspxMySQL 中文显示乱码 同意楼上你应该是 | CREATE TABLE `t` ( `a` int(1) NOT NULL DEFAULT '0', `b` varchar(2) NOT NULL DEFAULT '') ENGINE=InnoDB DEFAULT CHARSET=utf8 |中的b设置的字符太小了,一个中文字占两个字符,你应该设置大一点,看下b varchar(100) mysql workbench中用reverse engineer清空了目标数据库,求恢复方法 mysql数据多连接访问问题 mysql 两张表中怎样实现这样的查询 菜鸟问题。。。。 求一个sql,关于分组统计的 一个MySQL的数据库的问题 mysql数据库设计问题 mysql统计后排名问题 MySQL中如何设置一个字段默认值为同一个表中另一个字段的值或另一个字段减去一个固定值 workbench中怎么显示mysql数据的网格形式 求助 这个查询应该怎么写呢 大神帮个忙 看一个mysql查询
mysql> set names utf8;
Query OK, 0 rows affected (0.00 sec)mysql> insert into t select 2 as a ,'天才' as b;
ERROR 1366 (HY000): Incorrect string value: '\xCC\xEC\xB2\xC5' for column 'b' at row 1
mysql>
为啥要设置gbk啊,我的字符编码是utf8呢
为啥要设置gbk啊,我的字符编码是utf8呢mysql有服务端编码和客户端编码概念之分
前者就是你认为的UTF8码。所有的MYSQL客户端不做任何字符转换,这个字符转换工作由服务器来执行,所以每个客户端在执行前,都要执行SET NAMES XXX 告诉服务器:客户端的编码是什么,以便MYSQL服务器能转换成功。你的MYSQL客户端,明显是GBK或ansi环境,所以你必须加上一条设置客户端编码的语句set names gbk , 告诉MYSQL服务器正确的客户端编码。
为啥要设置gbk啊,我的字符编码是utf8呢mysql有服务端编码和客户端编码概念之分
前者就是你认为的UTF8码。所有的MYSQL客户端不做任何字符转换,这个字符转换工作由服务器来执行,所以每个客户端在执行前,都要执行SET NAMES XXX 告诉服务器:客户端的编码是什么,以便MYSQL服务器能转换成功。你的MYSQL客户端,明显是GBK或ansi环境,所以你必须加上一条设置客户端编码的语句set names gbk , 告诉MYSQL服务器正确的客户端编码。
mysql> set names utf8;
Query OK, 0 rows affected (0.00 sec)mysql> insert into t select 2 as a ,'天才' as b;
ERROR 1366 (HY000): Incorrect string value: '\xCC\xEC\xB2\xC5' for column 'b' at row 1
mysql>
set names utf8;无效了啊。
为什么是set names utf8?
应该是 set names gbk, 你的客户端明显是ansi 环境啊道理前面讲清楚了,仔细看看。
http://blog.csdn.net/ACMAIN_CHM/archive/2009/05/12/4174186.aspx
MySQL 中文显示乱码
你应该是 | CREATE TABLE `t` (
`a` int(1) NOT NULL DEFAULT '0',
`b` varchar(2) NOT NULL DEFAULT ''
) ENGINE=InnoDB DEFAULT CHARSET=utf8 |
中的b设置的字符太小了,
一个中文字占两个字符,你应该设置大一点,看下b varchar(100)