乱码问题 我用delphi6+myadc连接数据库,数据库中有的数据是Jördis,可查询出来后却是乱码,请教怎么解决? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://blog.csdn.net/ACMAIN_CHM/archive/2009/05/12/4174186.aspxMySQL 中文显示乱码 我的不是中文,我的数据库版本是5.1,字符集是utf8,数据库中存放度不是中文是外语,包含非英语如,Jördis等人名,我用第三方控件,类似ado,且也将字符集设置为utf8,当我查询出来后,就显示乱码。我看了你推荐的网站,好像没有我这种情况。请指教! 先set nams utf8;seelct ..... 我是这样写sql语句的:SQLstr:='set names ''utf8'';select * from t_user';mySQLQry.sql.Text:= SQLstr;mySQLQry.open;查出来就是乱码。 http://hi.csdn.net/attachment/201104/28/63172_1304005207iaVA.jpg 如果‘set nams utf8;’那么中文也就成了乱码。 mysql > show create table t_user_base_info;t_user_base_info | CREATE TABLE `t_user_base_info` ( `id` varchar(32) NOT NULL DEFAULT '' COMMENT 'id', `first_name` varchar(255) DEFAULT NULL COMMENT '名', `family_name` varchar(255) DEFAULT NULL COMMENT '姓')ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='个人信息表' mysql> show full columns from t_user_base_info;+------------------------+--------------+-----------------+------+-----+---------+-------+---------------------------------+--------------------------------+| Field | Type | Collation | Null | Key | Default | Extra | Privileges | Comment |+------------------------+--------------+-----------------+------+-----+---------+-------+---------------------------------+--------------------------------+| id | varchar(32) | utf8_general_ci | NO | PRI | | | select,insert,update,references | id || first_name | varchar(255) | utf8_general_ci | YES | | NULL | | select,insert,update,references | 名 || family_name | varchar(255) | utf8_general_ci | YES | | NULL | | select,insert,update,references | 姓 |mysql> show variables like 'char%';+--------------------------+---------------------------------------------------------+| 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 | C:\Program Files\MySQL\MySQL Server 5.1\share\charsets\ |+--------------------------+---------------------------------------------------------+8 rows in set请看上面的结果。 估计你的delphi6用的是GBK编码或其他。而你的结果集character_set_results | utf8 |,如果2个不一致就导致乱码了。但是具体要怎么改,不知道! 设置my.ini配置文件default-character-set=utf8 问题是当我查询时设置为utf8,那么中文也就成了乱码。 各位高手,就没有办法解决查询‘Jördis’后显示正常吗? 你插入数据后直接在命令行用sql查看数据..看是否是乱码..我怀疑你这个是delphi的问题 用Navicat Premium连接mysql后查都正常的。 15楼说得很清楚, DELPHI6的工作环境不是utf8的, 用set names utf8是不行的。试一下 set name latin1 通过mysql admin将“myname”字段的编码方式改成你想要的编码方式 检查一下 show variables like '%character&' 插卡数据库服务器的字符集 然后set names 夫妇其字符集 你看到乱码是因为你delphi6不能正确显示utf8的原因,就像printf和wprintf一个是ascii一个是unicode但是就是没有utf8。或许你可以试一下把utf8转为unicode,这样应该可以正常显示。 我设成了unicode还是显示不出来啊。 连接字符集和客户端字符集都用utf8你查出来的数据就是utf8的。你要用系统提供的API把你查出来的数据转换成unicode。还是不能显示那就没辙了。 我开始是set names utf8的,后来发现中文也成了乱码,请问怎么转 unicode? utf8tounicode()函数返回值是整型的数据,不对吧。 首先你的程序一定要是unicode版本,这个在工程的配置里面应该可以配置的。http://topic.csdn.net/t/20030709/11/2007360.html这里有怎么用的。我对delphi不太熟悉。其实windows的MultiByteToWideChar,WideCharToMultiByte也可以做到的自己试一下怎么转吧。 READS SQL DATA 是什么意思?? sql 如何修改字符串中某个字符 在命令行里导入数据~~? 向ACMAIN_CHM提问 求助: 有谁知道在Struts中如何连接mysql数据库? (帮助)为什么mysql客户端的指示窗口下,键入密码无故自动退出!! 请教查询语句的简化问题 求教 mysql中if exists 的用法 记录百万级用户每天使用手机流量数据库表设计 求大神一条sql语句或存储过程 load data infile有没有能够替代insert into ... on duplicat key update `c`=`c`+`1的方法? mysql有没有非阻塞入库的接口?
MySQL 中文显示乱码
我的不是中文,我的数据库版本是5.1,字符集是utf8,数据库中存放度不是中文是外语,包含非英语如,Jördis等人名,我用第三方控件,类似ado,且也将字符集设置为utf8,当我查询出来后,就显示乱码。我看了你推荐的网站,好像没有我这种情况。请指教!
seelct .....
mySQLQry.sql.Text:= SQLstr;
mySQLQry.open;查出来就是乱码。
如果‘set nams utf8;’那么中文也就成了乱码。
t_user_base_info | CREATE TABLE `t_user_base_info` (
`id` varchar(32) NOT NULL DEFAULT '' COMMENT 'id',
`first_name` varchar(255) DEFAULT NULL COMMENT '名',
`family_name` varchar(255) DEFAULT NULL COMMENT '姓')
ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='个人信息表' mysql> show full columns from t_user_base_info;+------------------------+--------------+-----------------+------+-----+---------+-------+---------------------------------+--------------------------------+
| Field | Type | Collation | Null | Key | Default | Extra | Privileges | Comment |
+------------------------+--------------+-----------------+------+-----+---------+-------+---------------------------------+--------------------------------+
| id | varchar(32) | utf8_general_ci | NO | PRI | | | select,insert,update,references | id |
| first_name | varchar(255) | utf8_general_ci | YES | | NULL | | select,insert,update,references | 名 |
| family_name | varchar(255) | utf8_general_ci | YES | | NULL | | select,insert,update,references | 姓 |
mysql> show variables like 'char%';
+--------------------------+---------------------------------------------------------+
| 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 | C:\Program Files\MySQL\MySQL Server 5.1\share\charsets\ |
+--------------------------+---------------------------------------------------------+
8 rows in set
请看上面的结果。
default-character-set=utf8
试一下 set name latin1
utf8tounicode()函数返回值是整型的数据,不对吧。