mysql - MySQL 5 的 UTF8 问题

标签 mysql encoding utf-8 phpmyadmin

我正在将我的 WordPress 博客和 phpBB 论坛迁移到新的托管服务器。我正在使用 phpMyAdmin 从上一个站点的数据库中导入 SQL 脚本。

当我用 Kate 打开 .sql 脚本时,它说它使用 UTF8 作为编码。当我在新服务器中导入 sql 时,我可以在 phpMyAdmin 中选择编码,默认情况下选择 utf8。

仍然,当我导入完数据库后,我直接在phpMyAdmin中读取帖子文本,看到“é”,“ñ”等字符没有被“解释”并被奇怪的字符替换已安装。

我可以看到我的 WordPress 安装也无法正常工作。显然这个编码有问题,但我认为问题出在 MySQL 数据库或 phpMyAdmin 而不是 WordPress。

MySQL 的版本几乎相同,即 MySQL 5,但修订版不同。还有,迁移论坛数据库的时候也没有问题,这就更奇怪了……

我不知道如何解决这个问题...欢迎提出任何想法。

最佳答案

你试过添加

SET NAMES 'utf8';

到你的 sql 转储?

utf8 或一般编码的问题是,为了成功,您必须确保:

  • 文件编码为utf8,无签名
  • mysql服务器默认编码为utf8
  • 连接是 utf8(这就是你将 SET NAMES 'utf8' 放入你的 sql 文件的原因)。
  • 所有表格和列都有正确的编码和字符集
  • 您所有的网络文件也必须是 utf8 编码的。而且仅仅添加正确的标题是行不通的。您必须打开文件,检查编码是否为 utf8,如果不是,则剪切所有内容,将编码更改为 utf8,然后将所有内容粘贴回去。如果您只是更改编码并保存文件,那是行不通的!

关于mysql - MySQL 5 的 UTF8 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/346531/

相关文章:

php - 使用 PHP 从 MySql 数据库中选择两个日期之间的记录

r - 如何在R中读取utf-8格式的数据?

google-chrome - 这个 INSANE 空间字符是什么??? (谷歌浏览器)

unicode - Sublime Text 3 在 Ubuntu 13.10 下无法正确显示 Unicode 字符

检查表信息是否存在时的 PHP/SQL 问题

mysql - 返回最近N天的记录,当不是N中的每一天都有记录?

使用 git 版本化脚本的 MYSQL 开发工作流程

node.js - 哪些编码可用 Node.js

ruby - 安装 RDoc 文档时出错 : incompatible encoding regexp match

go - 二进制到文本的编码,将字节替换为 golang 中预定义的唯一字符串