LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2005|回复: 4

【求助】请教php访问mysql数据库,中文出现问号

[复制链接]
发表于 2006-9-15 16:57:04 | 显示全部楼层 |阅读模式
phpmyadmin版本为2.8.2.1
mysql版本为5.0.17-nt

phpmyadmin将数据表结构导入mysql后
用php访问mysql,其中文记录全部显示为"??"。
导入时,字符集选"utf8"时会提示中文记录错误,改为"gbk","binary"都会默认为"gb2312"。直接在phpmyadmin中查看mysql数据库记录能正常显示中文。
看了网上一些文章仍无法解决,特来请教高手。

mysql具体参数:
character set client utf8
(全局值) gb2312
character set connection utf8
(全局值) gb2312
character set database gb2312
character set results utf8
(全局值) gb2312
character set server gb2312
character set system utf8
collation connection utf8_general_ci
(全局值) gb2312_chinese_ci
collation database gb2312_chinese_ci
collation server gb2312_chinese_ci


Variable_name  Value  
character_set_client utf8
character_set_connection utf8
character_set_database gb2312
character_set_results utf8
character_set_server gb2312
character_set_system utf8

我用的是远程服务器。服务器的系统用的是windows2003,其支持php,perl,mysql。我的主要问题是针对访问mysql的中文记录出现问号。
发表于 2006-9-16 07:20:39 | 显示全部楼层
你是怎么连接的?
可以在连接时试试加上字符集参数, 如jdbc:mysql://localhost/ideashop?useUnicode=true&characterEncoding=UTF-8
或者试试查询之前先查询 set names utf8/gbk
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-9-16 10:18:30 | 显示全部楼层
怎么在连接时加??
我是用phpmyadmin管理mysql的,直接在phpmyadmin查看mysql记录可以显示中文,但用php访问时就变成全部问号了。
回复 支持 反对

使用道具 举报

发表于 2006-9-16 13:42:06 | 显示全部楼层
Post by bulin
怎么在连接时加??
我是用phpmyadmin管理mysql的,直接在phpmyadmin查看mysql记录可以显示中文,但用php访问时就变成全部问号了。
就是在你的PHP代码连接的时候.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-9-16 17:34:53 | 显示全部楼层
我是这样连接的:
mysql_connect(localhost,name,password) or die("Could not connect");

在其后使用mysql_query('set names gb2312'); 问题解决。谢谢ideawu兄!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表