MySQL排序规则错误与非英语字符

时间:2013-09-23 13:14:21

标签: php mysql ajax collation

我在显示utf8_general_ci字符时遇到问题。我已将所有表格和列设置为utf8,但所有非英文字母字符都没有显示(它们确实加密,但是像这样Å¡ÄćžÄ')。还有像'等等的标志不会出现。我在Bluehost上运行我的网站。

令我困惑的是,我在我的网站上使用AJAX。当我调用AJAX文件时,字符显示为正常,但是当加载到非ajax页面时,我有一个错误,我告诉过你。

3 个答案:

答案 0 :(得分:2)

首先,您必须知道使用字符集的位置:

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

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

答案 1 :(得分:0)

确保您的浏览器将其解释为UTF-8。借助HTML中的元标记来完成此任务。

示例:

<head>
    <meta charset="utf-8">
</head>

答案 2 :(得分:0)

您没有看到Ajax问题的原因是因为javascript编码是UTF-8。这不是PHP的情况,所以你应该把它添加到你的php。

header('Content-Type: text/html; charset=utf-8');