【发布时间】:2016-09-20 02:26:18
【问题描述】:
我正在努力解决我网站上的特殊字符编码问题。我有一个带有连接的datalist 的input 字段。 datalist 在页面加载时从我的数据库中填充。但不知何故,我在数据列表选项中的每个特殊字符和特殊语言字符(例如中文)的普通问号中得到了菱形符号内的问号。这是我尝试过的:
- 初始数据集是一个 csv 文件,我将其包含在我的数据库中。我在 Notepad++ 中检查了排序规则,它设置为 UTF8 without BOM。
- 我正在使用 phpmyadmin 进行数据库管理。服务器连接排序规则设置为 utf8mb4_bin。我存储数据的表具有排序规则 utf8_bin。当我导入数据时,我确保使用 utf8。字符在 phpmyadmin 中也能正确显示。
- 在我的 index.php 文件的
<head>部分中,我还有以下<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
但我仍然得到那些问号。我还能检查什么?
【问题讨论】:
-
使用 htmlentities()
-
试试:
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> -
@Thamilan 现在可以正确显示欧洲特殊字符。我以为它们会被包含在 utf-8 中!?但是,特殊语言字符(例如中文)仍以正常的问号符号显示(周围没有菱形)
标签: php mysql utf-8 phpmyadmin collation