0

我使用 WAMP 在 localhost 上运行 PHP 代码。问题是在我的本地主机上我得到了像“lÃ¥n”这样的utf8错误。在实时服务器上,我得到了怀疑的“lån”。

到目前为止我尝试过的

  • 将服务器和本地主机上的数据库表设置为utf8_general_ci
  • 将服务器和本地主机上的数据库表结构行设置为utf8_general_ci
  • 使用utf cast检查文件编码,它们ASCII/UTF-8, NO BOM在服务器和本地主机上都设置
  • 强制 PHP 标头header('Content-Type: text/html; charset=utf-8');
  • 强制 UTF8 到数据库ORM::configure('mysql:host=SECRET;dbname=SECRET;charset=utf8');
  • 添加ORM::configure('driver_options', array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'));没有运气

更多信息

  • 当我使用 phpmyadmin 时,数据库中的数据是相同的。我什至使用了差异工具。
  • 输出的数据不相同。为什么不?该怎么办?
  • 我将idiorm用于漂亮的 SQL。
  • 数据库设置相同。
  • 文件是一样的。我将它们上传到服务器。
  • 我有 filezilla 以二进制形式发送它们。

我只希望本地主机和服务器显示相同,而不需要 if 语句解决方法。我不希望 utf8_decode 在一个地方而不是在另一个地方。

有什么想法我可以尝试吗?

4

2 回答 2

1

关于您必须执行此配置的文档:

<?php
ORM::configure('driver_options', array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'));
于 2016-06-28T08:34:29.733 回答
0

我不知道为什么,但我必须$html = mb_convert_encoding($html, 'HTML-ENTITIES', "UTF-8");@$dom->loadHTML($html);我的代码中加入。

当本地主机和服务器设置在各方面都相等时,我仍然不知道为什么没有它就无法工作。

于 2014-02-28T09:01:04.100 回答