【问题标题】:Mysql Utf-8 and PHPMysql Utf-8 和 PHP
【发布时间】:2012-06-01 00:50:48
【问题描述】:

我讨厌角色集和所有相关的东西,它们让我头疼!

我现在正在开发一个与 OpenCart 一起使用的应用程序。数据库采用utf8-bin编码。

我想在 PHP 中对我的应用程序执行的操作是从 XML(以 ISO-8859-1 编码)获取数据并将其正确放入数据库(以 UTF8-BIN 编码)

我尝试使用 $msqli->set_charset("utf8");连接时,utf8_encode与字符串,但什么都没有,它仍然显示奇怪的字符。

提前致谢

【问题讨论】:

  • 在哪里显示奇怪的字符? phpMyAdmin ?打开购物车页面?
  • 您是否尝试过通过php.net/manual/en/function.utf8-encode.php 运行XML 数据?
  • 贾斯汀:在 phpMyAdmin 和 Opencart 的页面中。如果我使用 utf8_encode 对字符串进行编码,则在 phpMyAdmin 中会显示一个数字(我认为是一个十六进制数字) Hammerite:我尝试了使用和不使用 utf8_encodue

标签: php mysql utf-8


【解决方案1】:

您需要全程使用 UTF8。使用 UFT8 连接到 MySQL 是正确的,但您还必须在读取文件后对其进行转换,并确保在 HTML 页面、带有 <meta http-equiv="content-type" content="text/html;charset=utf-8" /> 的标头或 HTTP 标头中指定了 UTF8。否则,您需要在打印字符串之前转换为您在页面上使用的任何字符集。

我的建议是在任何地方都使用 UTF8。这样你就可以避免很多问题了。

【讨论】:

  • 由于 Opencart 是一个 CMS,它应该在它的 MySQL 和它的页面之间保持平衡。它在页面上显示:。这足够了,还是我应该强制显示“元......”?谢谢
【解决方案2】:

在将 XML 放入数据库之前,您必须将其从 ISO 转换为 UTF!检查这个

http://www.unicodetools.com/

【讨论】:

    【解决方案3】:

    奇怪的是,经过多次尝试,它使编码工作的是“utf8_decode”。我不知道具体是什么问题,但现在已经解决了!

    谢谢你的回答!!

    【讨论】:

      猜你喜欢
      • 2012-03-11
      • 2015-07-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多