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 查询问题 mysql怎么获得他下一个自动增长列的值是什么 Mysql报错,求解决办法 Windows 2003服务器 在线等。。mysql 数据库 中 data 目录 移植的问题。。 如何在远程的服务器上建立一个ODBC链接 关于JSP调用MySQL时更新数据的问题 .net从mysql读去数据乱码 mysql怎么查询出今天新增加了多少条记录(数据表里没有时间字段) mysql中的replace语句到底该怎么写? win7下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)