我无法让我的php / html页面正确显示带重音符号(é,á)的字符。我的数据库设置正确。当我运行show variables like 'char%
时,我得到了令人满意的输出:
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/
当我从我的网站上的表单插入数据时,数据被正确编码并存储在数据库中。
但是在我的显示页面上发生了一些奇怪的事情。
如果我将header('Content-Type: text/html; charset=utf-8');
放在php开始标记内的顶部,那么我的数据库中的数据会正确显示,但我会在HTML标记中手动输入到页面中的字符(如表列标题或仅描述性文本)用垃圾展示: 。
如果我从页面顶部删除 header('Content-Type: text/html; charset=utf-8');
,我的数据库中的数据显示不正确,但我在HTML中写入页面的文字很好。
我已经尝试过我所知道的一切。有没有人遇到过这个?
答案 0 :(得分:0)
除了您在服务器端所做的事情之外,我唯一能想到的就是添加:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
到html文件中的<head>
标记。
答案 1 :(得分:-1)
尝试将文件编码更改为UTF-8。 Notepad ++,SciTE,PhpStorm和其他许多人都可以做到。