mysql中的特殊和重音字符在PHP中生成坏符号

时间:2015-04-01 13:27:40

标签: php mysql codeigniter utf-8 character-encoding

我的排序规则在表格和字段上都设置为utf8_general_ci。我的HTML有META标记,用于将字符集更改为UTF8。

当我使用PHP框架(例如Codeigniter)时,或者在从数据库中选择之前使用以下查询,我认为页面上没有问题

mysql_query("SET NAMES 'utf8'");
mysql_query('SET character_set_connection=utf8');
mysql_query('SET character_set_client=utf8');
mysql_query('SET character_set_results=utf8');

但是现在我既没有使用任何类型的框架,也没有使用我的库,我正在一家公司工作,这个项目几乎完全完成了,我注意到,当我保存重音字符时,因为它们在数据库中,例如,“Maçã”(PT中的苹果),它们似乎被MySQL存储得很好(至少当我使用phpMyAdmin来读取表格时)但是PHP / HTML显示得很糟糕。它看起来像这样:

马< ?>< ?>

每当我在代码上回应这些单词时,这个带有问号的众所周知的不良角色就会不断出现。

是否有任何类型的MySQL或PHP可以解决这个问题(这个特定的,我不是在谈论charset的一般解决方案)一次性,所以我不必继续纠正它功能和黑客?

我已经意识到PHP端的utf8_encode也解决了这个问题。但我希望将某种配置附加到我的config.php或某种ALTER TABLE。那里有什么东西吗?

0 个答案:

没有答案