0

我在显示 utf8_general_ci 字符时遇到问题。我已将所有表格和列设置为 utf8,但所有非英文字母字符均未显示(它们显示但像 Å¡ÄćžÄ' 一样加密)。' + 等符号也不会出现。我在 Bluehost 上运行我的网站。

让我感到困惑的是,我在我的网站上使用了 AJAX。当我调用 AJAX 文件时,字符显示正常,但在非 ajax 页面中加载时出现错误,我告诉过你。

4

3 回答 3

2

首先,您必须知道在哪里使用字符集:

  • 数据(collation/charset在 MySQL 中设置)
  • 网页(使用您的文件编辑器,切换编码)(在这种情况下,我认为页面内容不相关)
  • 浏览器请求的页面(Content-Type:标题 + <meta>-tag)
  • MySQL 连接(让SET NAMES 'utf8';您的第一个查询)
  • 您将数据放入数据库的编码:仅将 UTF-8 编码的数据放入您的 UTF-8 列。

我认为您在正确的编码字段中有错误的编码数据,因此在将数据放入数据库之前,请确保您的数据甚至是 UTF-8,例如您的表单所在的页面等。

于 2013-09-23T13:25:46.233 回答
0

确保您的浏览器将其解释为 UTF-8。借助 HTML 中的元标记来执行此操作。

例子:

<head>
    <meta charset="utf-8">
</head>
于 2013-09-23T13:18:21.073 回答
0

您看不到 Ajax 问题的原因是 javascript 编码是 UTF-8。PHP 不是这种情况,因此您应该将其添加到您的 php.ini 文件中。

header('Content-Type: text/html; charset=utf-8');
于 2013-09-23T13:19:33.173 回答