关于PHP程序读取MySQL数据库中的中文值的显示成问号的问题!(在线等)

PleaseDoTellMeWhy 2006-07-08 01:01:30
大家好:
我是一PHP的新手。
我今天写了一段PHP的程序出现了一个问题解决不了:
程序在读取MySQL中数据库表的值的时候正常,可是在输出的HTML页面中却把中文值全部用问号(?)显示。
这个问题对我来说很棘手,希望高手不吝赐教,谢谢了!
...全文
209 点赞 收藏 9
写回复
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
raid79 2006-07-09
up
回复
sleetdrop 2006-07-09
只是老版本的mysql用双latin1来存中文掩盖了这个问题,其实所有的数据库都会有字符集的问题的。
回复
sleetdrop 2006-07-09
mysql_query("SET NAMES GB2312")
就算用这个也不麻烦的。
实际写东西的时候数据库连接都是放到一个单独的文件里如conn.php
然后在每个要用到数据库的page里require它的。
回复
各位大哥:
你们遇到过这样的问题了吗?
你们是怎么解决的啊?
难道我每用个SQL语句就要来个mysql_query("SET NAMES GB2312");?
我不是说它不好,起码也是一种解决的方法,但我还不知道能行不。(我在网吧还的回去试)
但是我觉得它太麻烦了。我想知道在服务器的配置文件中怎么设置。
我的MySQL服务器在命令行模式下能成功的插入中文值。
my.ini中default-character-set = "gb2312"
php.ini中default_charset = "gb2312"
各位难道就没有办法了吗?
谢谢热心的各位了!
回复
aniude 2006-07-09
估计都是编码的问题
niohe的方法可以试试
回复
niohe 2006-07-08
在mysql_select_db()下面加一行
mysql_query("SET NAMES GB2312");
应该没有问题了
回复
zeroleonhart 2006-07-08
apache,php pages,mysql should be the same charset.
回复
SQL语句我就用了一个"SELECT * FROM tableName"
就是简单的将表的内容读出来!
怎样在SQL查询中指定编码类型?
表我用的gb2312,而且在命令提示符中可以插入中文!
谢谢了!
回复
ddboy 2006-07-08
原因是创建表的时候有错误,原因有:
一、你没有在SQL查询中指定编码类型;
二、表的编码和你所用的编码类型不同;
回复
发动态
发帖子
基础编程
创建于2007-09-28

2.1w+

社区成员

从PHP安装配置,PHP入门,PHP基础到PHP应用
申请成为版主
社区公告
暂无公告