我有一个PHP脚本:
<?php
header('Content-Type: text/plain; charset=utf-8');//i have already used the
//header for encoding to utf-8
//rest of the code.
?>
我已经使用了UTF-8编码的头,但当从MySQL数据库中提取值并进行响应时,它们不会像在我的MySQL数据库中那样显示正确的输出。
详细说明:
我有一个打印屏幕,数据显示正确。
但是当我以PDF格式导出相同的数据时,就会出现编码问题。
所以我不认为这是数据库问题。
此外,负责将文档导出为PDF的PHP代码包含上述设置UTF-8的头。
示例:
"Meeús"显示为《Mees》。
注意:
我的数据库已设置为UTF-8。
我做错了什么
此症状清楚地表明数据库和php之间存在编码问题,而不是php和浏览器之间的编码问题。
MySQL需要
SET NAMES 'utf8';
在每个连接上。
如果您的表也在utf8中,那就更好了,尽管mysql具有所需的即时转换功能,如果它们没有的话。
因为您的数据库不是UTF8。
尝试将数据库编码设置为UTF-8
,或者在从数据库提取后将utf8_encode($data)
用于代码中。
检查IDE是否在没有BOM的情况下将文件编码为utf-8。