无法使php / html页面正确显示带重音符号(é,á)的字符

时间:2017-12-05 15:34:25

标签: php html mysql utf-8

我无法让我的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中写入页面的文字很好。

我已经尝试过我所知道的一切。有没有人遇到过这个?

2 个答案:

答案 0 :(得分:0)

除了您在服务器端所做的事情之外,我唯一能想到的就是添加:

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

到html文件中的<head>标记。

答案 1 :(得分:-1)

尝试将文件编码更改为UTF-8。 Notepad ++,SciTE,PhpStorm和其他许多人都可以做到。