对静态和动态内容使用不同的字符集时,字符打印冲突


Character printing conflicts when using different charsets for static and dynamic content

有人可以告诉我如何解决这种编码冲突吗?

注意:我的文件保存为 UTF-8 文件。

当我使用:

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

网页正常显示下面的字符(它们在页面中是硬编码的):

çÇ, ğĞ, şŞ

但是当相同的字符来自DB(用mysqli编码)时,它们看起来异常

��, ��, ��

当我使用:

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-9">
<meta http-equiv="Content-language" content="tr">

网页显示以下字符异常(它们在页面中硬编码):

ğâ, ıİ, şı

但是当相同的字符来自DB(用mysqli编码)时,它们看起来很正常

çÇ, ğĞ, şŞ

阅读了上面@Mihai给出的帖子后,我用$mysqli->set_charset('utf8mb4');解决了问题,只是保持<meta charset="utf-8">.就是这样!