最近,我遇到了有关元字符集的怪异问题。

如果我在标头中未设置任何字符集,则除了从数据库中输入的文本外,其他所有重音(如é,è,à..)都将正确显示(甚至是php中的var),而在菱形中会替换为一个小问号。

如果我在标题中设置了其中一个(我都尝试过)字符集

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


我数据库中的文本还可以,但是其余所有文本都带有小问号,而不是带重音符号。

我的数据库字符集是UTF-8 Unicode,而归类是UTF_8 general_ci。

请注意,我使用的是smarty,但是我没有更改config中的字符集,因为他的默认值是UTF-8。

最佳答案

好的,我找到了一个解决方案,我使用的是ORM,我只将charset = utf8添加到这样的setConnection方法中

$config->set_connections(array(
    'development' => 'mysql://user:pass@localhost/mydb;charset=utf8')
);

关于php - 字符集错误,PHP Smarty MySQL,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19071131/

10-11 10:47