1

我有一个最初以latin1_swedish_ci. 由于我的应用程序使用 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 中查看记录时,换行符显示(使用萤火虫,我可以<br>在文本中看到标签)。

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

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

2 回答 2

2

如果你使用 nl2br() 会发生什么?

echo nl2br($output);
于 2012-04-13T18:27:21.443 回答
1

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

于 2012-04-13T18:25:56.173 回答