我有一个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。
我做错了什么?
答案 0 :(得分:2)
因为您的数据库不是UTF8。
尝试将数据库编码设置为UTF-8
,或者在从数据库中提取后将utf8_encode($data)
用于代码。
检查您的IDE是否将文件编码为utf-8而没有BOM。
答案 1 :(得分:2)
此症状清楚地表明数据库和php之间存在编码问题,而不是php和浏览器之间的编码问题。
MySQL需要一个
SET NAMES 'utf8';
每个连接。
最好还是你的表是在utf8中,尽管mysql具有所需的动态转换功能,如果它们不是。