【问题标题】:LAMP UTF-8 saving incorrectly to MySQL DatabaseLAMP UTF-8 错误地保存到 MySQL 数据库
【发布时间】:2010-10-06 00:49:44
【问题描述】:

我已将我的数据库从 Latin 1 转换为 UTF8,并且使用 phpPMyAdmin 您可以输入数据并正确显示它。然而,在我用 PHP 开发的页面中查看并使用我的简单 CMS 对其进行编辑会保存必须错误编码的字符。

我花了几个小时研究,最终想出了这个代码 sn-p:

mysql_query("SET character_set_results = 'utf8', character_set_client = 'utf8', character_set_connection = 'utf8', character_set_database = 'utf8', character_set_server = 'utf8'", $conn_products);

当放置在数据库操作之前可以纠正问题 - 太棒了!

我已经做了一些进一步的研究,并且(我相信)找到了一种方法可以在整个 MySQL 服务器上永久保存它,但我想为每个数据库永久更改它,因为大多数使用服务器的站点都是拉丁语 1,需要保持这种状态。

谁能指出我正确的方向?

【问题讨论】:

    标签: php mysql utf-8 character-encoding lamp


    【解决方案1】:

    不幸的是,您不能针对每个数据库执行此操作,如果客户端未声明任何内容,则它要么由客户端应用程序设置,要么由服务器设置。您只需在每个会话中设置一次,因此只需教自己始终跟进mysql_select_db(),这可能与mysql_query('SET NAMES utf8;')(或您需要的任何字符集)一起使用就可以了。

    【讨论】:

      猜你喜欢
      • 2014-01-15
      • 2012-12-19
      • 2011-12-12
      • 2017-03-21
      • 1970-01-01
      • 1970-01-01
      • 2011-05-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多