0

我最近遇到了一个关于元字符集的奇怪问题。

如果我没有在我的标题中设置任​​何字符集,所有像 é,è,à.. 这样的重音都会正确显示(甚至来自 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,但我没有更改配置中的字符集,因为他的默认值是 UTF-8。

4

1 回答 1

1

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

$config->set_connections(array(
    'development' => 'mysql://user:pass@localhost/mydb;charset=utf8')
);
于 2013-09-30T21:42:31.257 回答