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

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'>

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

çÇ, ğĞ, şŞ

但是当相同的字符来自数据库(使用mysqli编码)时,它们出现异常:

��, ��, ��

当我使用:

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

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

ğâ, ıİ, şı

但是当相同的字符来自数据库(使用 mysqli 编码)时,它们出现 正常:

çÇ, ğĞ, şŞ

看了上面@Mihai给的post,我用$mysqli->set_charset('utf8mb4');解决了问题,就保留了<meta charset="utf-8">。就是这样!