Mysql数据库汉字乱码问题? 我用的是Mysql5.0; 用Delphi6.0+ADO+Mysql5.0_ODBC读取数据库中数据,但是汉字读都是“??”或者乱码; 在网上找了好多关于my sql的字符集的资料,按照网上的方法设置试了n次还是不行,请高手帮助解决!谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 可以按照默认的UTF-8读出来,再转换,或者改字符集为GB2312/GBK 现在没有乱码了,但中文只能查到一半我在网上找到一些说明,做如下测试;建表 create table w1(c1 varchar(64) character set utf8);插入记录 insert w1 values('中文测度'); insert w1 values('中文字符测度');查询记录 select * from w1;结果是 c1 ------------ 中文 中文字只有一半中文,不知为什么?好像是mysql中一个字符中2个字节,4个汉字被认为4个字符,长度为4,传到ADO时被认为4个字节,就被截去一半;各位谁能帮助解决一下! MYSQL 的一个中文字符是两个字节的,4个汉字被认为8个字符你在查询之前一定得 set names utf8;保持所有终端编码一致。要不然就截断字符或者出现不可预期的后果。 我试过了,加set names utf8,结果和上面的一样如果加 set names gbk,结果是一串"?"! 刚才我又这一试了一下,在ODBC中建数据源,用MS SQL2000 的“导入和导出数据”工具,将mysql数据库中表w1导出,发现竟然结果表中汉字也是被截去了一半,这是为什么啊? 这样试一下: myado1.SQL.Clear; myado1.SQL.Append('set names GB2312'); myado1.ExecSQL;然后再:myado1.sql.clear;myado1.sql.text:=sql语句myado1.open 这一步是设置谁的字符集 对这个查询,我无能为力了 MySql 哪个函数获取中文字符串的实际长度呢? 请问关于MYSQL插入特殊字符处理办法 MySql中top查询问题 相关上班时间的数据库表设计 求 MySql 5.10 的下载地址! 菜鸟请教mysql大牛,单张数据表最多存放多少条数据为好? mysql 百万级数据分页 优化group by问题 MySQL启动报1067错误 用Dreamweaver v8.0在连接mysql数据库时出现了中文乱码,中文出现 “???”。 我从网上下载了一套OA系统,用的是mysql数据库,我想在表中新增几个字段,可是看不到里面的表,用什么工具看?
建表
create table w1(c1 varchar(64) character set utf8);
插入记录
insert w1 values('中文测度');
insert w1 values('中文字符测度');查询记录
select * from w1;结果是
c1
------------
中文
中文字只有一半中文,不知为什么?好像是mysql中一个字符中2个字节,4个汉字被认为4个字符,长度为4,传到ADO时被认为4个字节,就被截去一半;
各位谁能帮助解决一下!
保持所有终端编码一致。要不然就截断字符或者出现不可预期的后果。
如果加 set names gbk,结果是一串"?"!
用MS SQL2000 的“导入和导出数据”工具,将mysql数据库中表w1导出,
发现竟然结果表中汉字也是被截去了一半,这是为什么啊?
myado1.SQL.Clear;
myado1.SQL.Append('set names GB2312');
myado1.ExecSQL;
然后再:
myado1.sql.clear;
myado1.sql.text:=sql语句
myado1.open