西里尔字母的问题.使用AJAX, PHP和MySQL


Problems with Cyrillic. Using AJAX, PHP and MySQL

我有一个数据库,参数如下:

character_set_client: utf8
character_set_connection: utf8
character_set_database: utf8
character_set_filesystem: binary
character_set_results:utf8
character_set_server: cp1251
character_set_system: utf8

我没有使用JQuery。我用AJAX将数据放入DB。一切都很好,直到我想从数据库中获得西里尔字母数据。我在浏览器中看到的是"而不是西里尔字母符号。你能告诉我哪里有问题吗?谢谢。

我试着给你一个建议。一步一步地检查每件事,做任何事情之前别忘了做备份。

1)将character_set_server: cp1251更改为utf8。你可以在你的mysql配置文件my.cnf中做。当你改变它-你必须重新启动mysql。添加以下内容:

[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
collation-server = utf8_unicode_ci
init-connect='SET NAMES utf8'
character-set-server = utf8

2)看看你的数据库。里面的信息看起来好吗?如果没有-检查你如何保存你的数据。

3)检查你的meta。它应该看起来像这样:
<head>
  <meta charset="utf-8">
  <title>Your title</title>
</head>
你可以通过php headers提供你的编码类型:
<?php
header('Content-Type: text/html; charset=utf-8');

这段代码应该出现在脚本的任何输出之前。

5)检查浏览器。有时我忘记将编码从手动更改为自动。或者您可以手动更改为UTF-8。

希望能帮到你。