SQL 的特殊字符显示为 ?在 HTML 中

Posted

技术标签:

【中文标题】SQL 的特殊字符显示为 ?在 HTML 中【英文标题】:Special characters of SQL display as ? in HTML 【发布时间】:2013-06-27 00:57:31 【问题描述】:

在我的表格中,我有这个特殊字符,例如“č”

当我选择此数据并将其显示为我的网站上的 html 时,它会将该字符显示为问号 (?)。

我该如何解决这个问题?

示例表

Mehanički

示例 HTML 输出

Mehani?ki

我使用 php 从 SQL 中获取数据,并使用 AJAX 调用 PHP 文件以获取数组的输出

【问题讨论】:

你应该研究一下字符编码——这可能会有所帮助:***.com/questions/905173/… 我正在使用 但这并没有改变任何事情。它适用于整个网站,但不适用于我获得的数据。 【参考方案1】:

<meta charset="utf-8"> 放在你的头块中。

另外,你的数据库的排序规则应该是 utf8_unicode_ci。

另外,你的源代码也应该用 utf8 编码。

【讨论】:

我什至将字段本身的排序规则设置为正确的“latin2_croatian_ci”,但它仍然不起作用。【参考方案2】:

我猜你必须将你的 html 编码设置为你在数据库中使用的那个。

【讨论】:

你推荐什么编码? 应该是评论。【参考方案3】:

我必须在连接到我的数据库后输入这个

if (!$mysqli->set_charset("latin2")) 
    printf("Error loading character set latin2 : %s\n", $mysqli->error);

【讨论】:

以上是关于SQL 的特殊字符显示为 ?在 HTML 中的主要内容,如果未能解决你的问题,请参考以下文章

求解关于UEditor特殊字符(©等等...)处理的问题?

来自 Oracle pl/sql 的电子邮件中的特殊字符

http请求特殊字符转码

html特殊字符必须转义怎么办

php mysql转义特殊字符的函数都有哪些

浅析PHP中处理HTML特殊字符转换