mysql5.0.27,驱动也是5.0的通过odbc从sqlserver2000移植数据到mysql,但是有四字节汉字的数据无法导入,只好用java自己写程序导,从mssql读数据逐条插入mysql,结果还是有四字节的汉字时报错
Data truncation:data too long for columnmysql启动服务里面charset...已经设置成utf8了,而且java连接mysql的url里面也指定了字符集utf8,还有useunicode=ture,还是会有这样的错,普通汉字没问题把text或者varchar改成blob,用二进制流存入,然后读取结成string,但是这样的话select语句怎么用?对二进制流肯定没法用select
还是先解决varchar无法插入四字节汉字的问题吧,谁碰到过这样的问题,请指点,多谢
Data truncation:data too long for columnmysql启动服务里面charset...已经设置成utf8了,而且java连接mysql的url里面也指定了字符集utf8,还有useunicode=ture,还是会有这样的错,普通汉字没问题把text或者varchar改成blob,用二进制流存入,然后读取结成string,但是这样的话select语句怎么用?对二进制流肯定没法用select
还是先解决varchar无法插入四字节汉字的问题吧,谁碰到过这样的问题,请指点,多谢
我是这么解决的
先设置服务器和客户端的默认
default-character-set=gbk
字段类型也是gbk
可有时候中间中文字符传递的时候还是有问题
如 Update TMP_ResultTable
SET RESULT = date_format(now(),'%Y年%m月%d日') WHERE Flag = 8;
我在做如下处理就没有报错了
Update TMP_ResultTable
SET RESULT = cast(date_format(now(),'%Y年%m月%d日') as char(50)) WHERE Flag = 8;
[client]port=3306
default-character-set=gbk[mysql]default-character-set=gbk[mysqld]# The TCP/IP Port the MySQL Server will listen on
port=3306default-character-set=gbk
utf32 utf32_general_ci UTF-32 Unicode 4
utf8 utf8_general_ci UTF-8 Unicode 3
utf8mb4 utf8mb4_general_ci UTF-8 Unicode 4