我有一个生成文本输出的脚本。该脚本从编码为latin1_general_ci的MySQL数据库中获取内容。在标记为iso-8859-1的HTML页面中包含该脚本可以正常工作。
如何捕获此脚本的输出并将其包含在以utf-8编码的HTML页面中?
我试图使用ob_start()捕获脚本的输出,然后使用ob_end_flush()将其吐出。我的想法是转换ob_end_flush()的输出字符集。
我尝试了以下内容,但iso-8859-1中的内容似乎没有转换(我仍然在浏览器中看到有趣的字符):
utf8_encode(ob_end_flush());
答案 0 :(得分:1)
ob_end_flush将数据发送到客户端并返回一个布尔值。你应该使用ob_get_flush。
答案 1 :(得分:1)
要进行转换,您还可以在打开与DB的连接后执行此查询SET NAMES utf8
。它将指示MySQL进行latin-1到UTF-8的转换,你将不再需要utf8_encode
。