我不知道为什么,但我不得不把
我使用WAMP在localhost上运行PHP代码。问题是,在我的本地主机上,我会收到像"lâ¥n"这样的utf8错误。在直播服务器上,我得到了"lån"的怀疑。
到目前为止我尝试了什么
- 将服务器和localhost上的数据库表设置为
utf8_general_ci
- 将服务器和localhost上的数据库表结构行设置为
utf8_general_ci
- 使用utf-cast检查文件编码,在服务器和localhost上都设置为
ASCII/UTF-8, NO BOM
- 强制使用
header('Content-Type: text/html; charset=utf-8');
的PHP标头 - 使用
ORM::configure('mysql:host=SECRET;dbname=SECRET;charset=utf8');
强制UTF8到数据库 - 添加
ORM::configure('driver_options', array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'));
,运气不佳
更多信息
- 当我使用phpmyadmin时,数据库中的数据是相同的。我甚至用了一个diff工具
- 输出的数据不相同为什么不呢?该怎么办
- 我用白痴做漂亮的SQL
- 数据库设置相同
- 文件是相同的。我把它们上传到服务器上
- 我有filezilla以二进制形式发送它们
我只想让localhost和服务器显示相同的内容,而不需要if语句的变通方法。我不想把utf8_decode放在一个地方而不放在另一个地方。
有什么想法我可以试试吗?
关于文档,您必须进行以下配置:
<?php
ORM::configure('driver_options', array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'));
$html = mb_convert_encoding($html, 'HTML-ENTITIES', "UTF-8");
放在我代码中的@$dom->loadHTML($html);
之前。
我仍然不知道为什么没有它,当本地主机和服务器设置在各个方面都相等时,它就不能工作。