求教mysql中文问题

[复制链接]
查看11 | 回复2 | 2011-4-13 12:08:17 | 显示全部楼层 |阅读模式
我安装的mysql是5.0版本,数据库的默认字符集是gb2312,数据库的表里是通过mysql命令行直接插入的中文数据,在命令行里用select语句可以正确显示中文,下面是我写的php程序,查询出的中文全部显示为乱码,请大家指点该怎么做才可正确显示中文,谢谢啦!
[PHP]


New Document












[/PHP]
回复

使用道具 举报

千问 | 2011-4-13 12:08:17 | 显示全部楼层
没用故PHP
charset=gb2312
这里改成GBK试试
回复

使用道具 举报

千问 | 2011-4-13 12:08:17 | 显示全部楼层
mysql> SHOW VARIABLES LIKE 'character_set%';
+--------------------------+----------------------------+
| Variable_name
| Value
|
+--------------------------+----------------------------+
| character_set_client | latin1
|
| character_set_connection | latin1
|
| character_set_database | latin1
|
| character_set_filesystem | binary
|
| character_set_results| latin1
|
| character_set_server | latin1
|
| character_set_system | utf8
|
| character_sets_dir | C:\mysql52\share\charsets\ |
+--------------------------+----------------------------+
有两个语句影响连接字符集:
SET NAMES 'charset_name'
SET CHARACTER SET charset_name
SET NAMES显示客户端发送的SQL语句中使用什么字符集。因此,SET NAMES 'cp1251'语句告诉服务器“将来从这个客户端传来的信息采用字符集cp1251”。它还为服务器发送回客户端的结果指定了字符集。(例如,如果你使用一个SELECT语句,它表示列值使用了什么字符集。)
SET NAMES 'x'语句与这三个语句等价:
mysql> SET character_set_client = x;
mysql> SET character_set_results = x;
mysql> SET character_set_connection = x;
将x设置为character_set_connection也就设置了collation_connection是x的默认校对规则。
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行