3

我目前遇到一些字符集问题,我自己无法解决。我的问题是,当我使用一些特殊字符时,我只会得到一个“�”

它仅适用于数据库内容 - 因此直接写入我的视图文件中的内容可以正确显示,但是当它来自数据库时,就会出现上述问题。

有谁知道我可能应该寻找什么?目前我自己还没有更多的想法。

解决方案

将我的连接线更改为 PDO:

self::$_db = new PDO(self::$DB_type .':host='. self::$DB_hostname .';dbname='. self::$DB_database, self::$DB_username, self::$DB_pass );

只需添加字符集 - 所以连接线如下:

$options = array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8');
self::$_db = new PDO(self::$DB_type .':host='. self::$DB_hostname .';dbname='. self::$DB_database, self::$DB_username, self::$DB_pass, $options );

提前致谢!

4

1 回答 1

1

尝试将您的数据库编码设置为 UTF-8,对您的 html 代码执行相同操作并将您的 php 文件保存为 UTF-8。

在您的 html 中,在 head 标签内添加以下行:

     <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">

您的数据库应该是 utf8_general_ci,对于 php 文件,请下载一个像 notepad++ 这样的编辑器,然后从菜单编码中选择 UTF_8 without BOOM。

于 2012-09-22T00:19:18.020 回答