UTF-8换行符显示在phpMyAdmin中,但不显示在网页上

时间:2012-04-13 18:24:55

标签: php mysql encoding utf-8

我有一个最初用latin1_swedish_ci编码的MySql表。由于我的应用程序使用unicode字符,因此我更新了存储utf8数据的列以使用utf8_unicode_ci排序规则,并且表格排序也更改为utf8_unicode_ci(所有其他不处理utf_8的列都保持不变latin1_swedish_ci整理)。

输入是一个带有utf-8字符的XML,如子弹 - 由于PHP的DomDocument的loadXML()函数需要输入的utf-8编码,我在解析之前编码XML

$doc->loadXML(utf8_encode($Input));

现在,在将utf-8数据插入表列之前,我正在使用PHP的utf8_decode()函数,以便正确存储数据。 (如果我不这样做,当我在网页上显示时,项目符号字符显示为垃圾字符。)

问题在于换行符&#x0D;没有在网页中显示换行符我正在回显输出但是当我在phpMyAdmin中查看记录时,换行显示(使用firebug,我可以在文中看到<br>标签。

我做错了什么?我尝试使用以下元标记来设置我的html页面的编码,但这也不起作用。

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

2 个答案:

答案 0 :(得分:2)

如果使用nl2br()会怎样?

echo nl2br($output);

答案 1 :(得分:1)

您忘记使用nl2br()将换行符转换为换行符。