最近,我遇到了有关元字符集的怪异问题。
如果我在标头中未设置任何字符集,则除了从数据库中输入的文本外,其他所有重音(如é,è,à..)都将正确显示(甚至是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/