我有一个填充了非英文数据的MySQL数据库表。当我在Navicat MySQL浏览器中查看数据时,数据显示正常。然而,当我运行php脚本来选择并显示网页上的数据时,它会显示问号。页面编码设置为utf8,甚至MySQL的排序规则设置为utf8 - 在选择和显示时出现错误...请帮助。非英文字符在我的php页面上显示为问号 - 在数据库中显示正常
3
A
回答
5
MySQL连接设置可能在这里出错。当你从PHP连接数据库运行此MySQL命令,在运行任何其他SQL命令之前:
SET names 'utf8';
这应该连接的编码设置为UTF-8。正如你所说,页面和数据库已经是UTF-8(这也应该表示页面发送Content-Type: text/html; charset=utf-8
);连接本身可以有不期而遇默认:(
3
另外一个不同的编码,在HTML,里面我们必须写:
<meta charset="utf-8">
当我们创建一个MySQL数据库,我们必须用这样的:
CREATE DATABASE `base` DEFAULT CHARACTER SET=utf8;
当我们创建表,使用:
CREATE TABLE `base`.`table` (
`key` int(5) unsigned NOT NULL,
`name` varchar(100),
...
PRIMARY KEY (`key`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
在PHP代码,在mysql_connect()和mysql_select_db()之后,使用:
mysql_query('SET NAMES UTF8');
+0
在第一部分中,我假设你的意思是“除了Content-Type之外,该文档还必须有一个字符集”;这可以在标题中发送(如Content-Type:text/html; charset = utf-8),也可以在HTML HEAD中发送(如')。您的语法是HTML 5,但尚未普遍支持。另外,创建表格时,最好将排序规则与字符集一起设置(字符集确定支持的字符,排序规则确定该字符集内的排序顺序 - 例如“...rŕřsštt...”)否则,就是好帖子。 – Piskvor 2010-08-25 20:32:03
相关问题
- 1. php var_dump()不显示非英文字符
- 2. 非英文字符显示为?标记
- 3. 在html页面上显示php数据
- 4. 如何在php中显示非英文字符?
- 5. 显示特殊的非英文字符
- 6. 如何使用php显示非英文字符形式的mysql数据库?
- 7. 显示非英文字符为?????在Internet Explorer中
- 8. 法国字符在页面上无法正常显示3.0.3
- 9. 在PHP页面中显示JSON数据
- 10. 为什么我们在HTML页面上显示编码符号
- 11. 英镑符号不显示在Wordpress中
- 12. 在数据库中上传的图像,但不显示在PHP的页面上?
- 13. 在Android中显示非英文字符串
- 14. 存储在数据库中的HTML在页面上显示为文本
- 15. 为什么在使用非英文字符发送电子邮件时,某些字符显示为问号?
- 16. 我的HTML/php页面在浏览器中显示为明文
- 17. 在php文件中显示html页面
- 18. 在树上显示数据在php页面上查看
- 19. 为什么我不能在gdb中正常显示字符串?
- 20. 非英文字符显示?在行动类
- 21. 在我的字符串中正确显示Unicode符号
- 22. 在asp.net的Outlook中显示英镑符号的问题
- 23. 如何在网站中正确显示所有非英文字符?
- 24. MySQL的PHP - 如何显示存储在数据库中的非可读字符
- 25. 在页面上显示泰国字符在服务器上的数据库中确认泰国字符
- 26. 分音符显示为问号与PHP
- 27. Unicode字符在法语jsp页面上显示不正确
- 28. 在HTML页面上显示php msg
- 29. PHP变量不在页面上显示
- 30. 英镑符号(£)在生成CSV文件显示为£
你能提供一个链接到页面吗?或者一些代码? – Chris 2010-08-25 15:38:30