页面编码是utf-8,数据库也是utf-8,php也是utf-8,但是php调用数据库输出到页面,中文都显示为问号

数字都正常显示,请教各位,多谢

第1个回答  2012-06-14
这样试试
数据库的设置也是utf的
mysql_query("SET NAMES utf8");
mysql_query("SET CHARACTER SET utf8");
mysql_query("SET COLLATION_CONNECTION='utf8_general_ci'");
第2个回答  2012-06-14
链接数据库之后加上
mysql_query("SET NAMES UTF8");
一定是UTF8,
不要写成utf-8;
第3个回答  2012-06-14
把php文件另存为的时候编码选择utf-8追问

已经试了,不行

追答

使用mysql命了查看一下编码show variables like 'character%';

其中,character_set_client为客户端编码方式;character_set_connection为建立连接使用的编码;character_set_database数据库的编码;
character_set_results结果集的编码;
character_set_server数据库服务器的编码;
只要保证以上四个采用的编码方式一样,就不会出现乱码问题。

找到客户端配置[client] 在下面添加
default-character-set=utf8 默认字符集为utf8
在找到[mysqld] 添加
default-character-set=utf8 默认字符集为utf8
init_connect='SET NAMES utf8' (设定连接mysql数据库时使用utf8编码,以让mysql数据库为utf8运行)

修改好后,重新启动mysql 即可,重新查询数据库编码可发现编码方式的改变:
>show variables like 'character%';

本回答被网友采纳
第4个回答  2012-06-14
最好在php执行数据库操作时,加一条pdo->exec('set names utf-8');
相似回答