在UTF-8中显示法语重音字符的问题

ign*_*low 8 php encoding utf-8

我正在使用CakePHP构建的法语网站.我已尝试多种功能尝试将文本转换为UTF-8并正确显示,但到目前为止没有成功 - 任何带重音的字母都显示为带有问号的黑色菱形.当我将浏览器中的字符集更改为ISO-8859-1时,它们会正确显示,但我想使while网站符合UTF-8标准.我用过:

html_entity_decode($ string,ENT_QUOTES,'UTF-8'); htmlspecialchars($ string,ENT_QUOTES,'UTF-8'); 函数utf8_encode

但没有雪茄.页面在标题中设置为UTF-8

MySQL数据库也使用UTF-8.如何在UTF-8中正确显示重音字符?

jan*_*sen 9

检查你的@@character_set_results.默认情况下,MySQL使用的latin1不是utf8.尝试SET NAMES utf8mysqli :: set_charset.

更新:以下是检查正在使用的字符集的方法:

mysql> SHOW VARIABLES LIKE '%char%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       | 
| character_set_connection | utf8                       | 
| character_set_database   | utf8                       | 
| character_set_filesystem | binary                     | 
| character_set_results    | utf8                       | 
| character_set_server     | utf8                       | 
| character_set_system     | utf8                       | 
| character_sets_dir       | /usr/share/mysql/charsets/ | 
+--------------------------+----------------------------+
Run Code Online (Sandbox Code Playgroud)

阅读dev.mysql.com上的更多内容.


cus*_*pvz 5

第一:检查你的php文件编码!我在Mac上工作,我使用Coda编程,它有一个转换字符集的选项,有时我会遇到这样的麻烦,转换为UTF-8总是修复它们.我认为Notepad ++可以在Windows上实现.(如果你这样做你的PHP文件,对他们的每一个字符串将不需要的功能htmlspecialchars(),html_entity_decode等等)

第二:如果你使用的是HTML输出,请检查<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />你的标题是否有...

第三:做@janmoesen在你的MySQL数据库上说的话.

告诉我一些事情.