MySQL:服务器以错误的编码返回记录

时间:2013-01-26 08:36:43

标签: mysql encoding collation

我在cp1251_general_ci编码中有DB(有一些历史原因)。在我改变了一个托管人之前,一切都很完美。 现在我遇到了一个问题。他们的服务器通过utf-8中的查询返回记录。 我想解决这个问题,不要触摸HTML输出。所以我看到了这样的方式 - 强制服务器只在cp1251_general_ci中提供内容。 我想重点是MySQL连接整理。如果是这样,我推测下一件事: 1.将当前DB复制到MySQL连接校对AS cp1251_general_ci。之后使用此DB并删除源DB。    要么 2.添加到数据库查询 COLLATION 。 如果它是对/错或你有更好的方式我会很高兴听到你的建议!

1 个答案:

答案 0 :(得分:0)

谢谢大家的诀窍! :) 为了解决这个问题,我已经做了自己的调查。 这是一个解决方案:

mysql_query ("set character_set_client='cp1251'");
mysql_query ("set character_set_results='cp1251'");
mysql_query ("set collation_connection='cp1251_general_ci'");

所以重点是强制服务器在查询/回答期间设置正确的编码。现在它完美无缺。