【发布时间】:2014-06-03 03:17:46
【问题描述】:
我正在为照片库构建一个 php 搜索页面,以从 MySQL 中提取带有中文字符的数据。
我做了以下事情:
1. setting webpage to utf-8 encoding meta http-equiv="content-type" content="text/html";charset="utf-8"
2. ensure that the collation for mysql db and data itself is utf8_general_ci
3. set chrome encoding to utf-8.
但是当我输入一个正搜索字符串来提取带有中文字符的数据时,它们总是出现为???
我检查了我的 php 数组原始输出,它也是 ???这让我相信我的数据库端有问题。但我需要添加的是我的图库页面(嵌入搜索框的地方)正确显示来自同一数据库的中文字符。
【问题讨论】:
-
你是否也设置了
$mysqli->set_charset('utf8');? -
嗨,Jason,非常感谢 - 这解决了问题。我为我的画廊和搜索页面创建了不同的数据库连接文件。而且我忘记添加那行 - 我使用 mysql_query("SET NAMES 'UTF8'"); - 在数据库连接搜索页面。如果您想知道我为什么要制作 2 个数据库连接文件,无论如何都不是程序员。你能帮我“回答”这篇文章吗?
-
你不应该使用mysql,而应该使用mysqli。 Mysql 被贬低了。并且不要使用
SET NAMES UTF8。见manual example 2 -
感谢,米歇尔
标签: php mysql encoding utf-8 character-encoding