西里尔文的问题。使用 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 将数据放入数据库。一切正常,直到我想从数据库中获取西里尔字母数据。我在浏览器中看到的是 � 而不是西里尔符号。你能告诉我一个有问题的地方吗?谢谢

我会尽量给你一个建议。一步步检查一切,不要忘记在做任何事情之前进行备份。

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) 检查您的元数据。它应该是这样的:

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

4) 您可以通过 php headers:

为您提供编码类型
<?php
header('Content-Type: text/html; charset=utf-8');

此代码应出现在脚本中的任何输出之前。

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

希望对你有所帮助