使用phpmyadmin进行数据库传输 - 编码问题

时间:2014-10-06 12:54:26

标签: php mysql database phpmyadmin

我正在使用phpmyadmin将数据库从一台服务器转移到另一台服务器。我成功转移了它,但遇到了瑞典字符的问题。我可以看到瑞典字符在表格中正确显示但在php页面中它似乎是双重编码或任何其他问题。有人可以帮忙吗?

2 个答案:

答案 0 :(得分:0)

问题可能在于不同的部分。欢迎来到Unicode世界!

  1. 确保MySQL中列的排序规则是utf8_ *(我个人更喜欢utf8_bin)。
  2. 确保PHP页面告诉客户端内容是用UTF8编码的。这可以/应该以两种方式完成:
    • 设置以下标题:header('Content-Type: text/html; charset=utf-8');
    • 在您的HTML <head>中添加正确的元标记:<meta charset="utf-8">
    • (注意:虽然从理论上讲两者并不是绝对必要的,因为它们对客户来说是相同的,但最好是多余的!)
  3. 确保与MySQL的连接使用UTF8。这可以通过在连接到数据库之后立即执行简单查询来完成:SET NAMES 'utf8'(例如mysqli_query("SET NAMES 'utf8'");如果您正在使用PDO或MySQLi OOP API,则相应地更改它。)
  4. 奖励:如果您在PHP脚本中使用UTF8,请确保以Unicode安全的方式处理所有内容。因此,更喜欢使用mb_*函数来操作字符串,使用带有u函数的preg_*标志等等。请记住,UTF8字符在其使用的字节数中是可变的,从1到1 4!

答案 1 :(得分:0)

我的两个网站都有相同的设置,只有在将数据库转移到其他服务器后才会出现问题。两个网站上的页面编码都相同。

你可以在这里查看

http://www.abswheels.se

http://www.dackis.se/abs/

你可以看到差异。任何建议??

数据库内的一切都很好。我不知道为什么当我从数据库中获取具有特殊字符的数据时,它有一个问题。你可以看到两个网站的标题栏。客户端的一切都是一样的。相同的编码相同的设置