如何在textarea中显示HTML并保留不同的语言字符?

时间:2011-03-20 22:19:39

标签: php html character-encoding

如何在HTML文本区域中显示任何字符编码?

我目前通过直接输入(textarea)接收用户HTML页面,然后通过PHP将href链接更改为其他内容来解析它然后我将解析后的HTML回显给textarea中不同页面上的用户。

但是,我得到中文字符的方形字符,我想知道如何处理这个并为所有语言或字符编码执行此操作?

作为旁注,我将解析后的HTML存储在我的数据库base64_encoded中,这很有效,这是在SO的帮助下实现的,我之前有过一个问题。

感谢大家帮忙解决这个问题。

2 个答案:

答案 0 :(得分:1)

如果数据库中的数据显示正常,则问题不在用户输入端。 (通过“直接”访问数据库来验证这一点 - 例如通过Sequel Pro或PHPMyAdmin - 并通过base64 de - 编码器运行数据。

如果数据是健康的,那么您的数据未在文本字段中正确显示的原因可能是因为浏览器期望的文本与您发送的文本的编码不同。

我的建议:从数据库加载数据时,在base64解码后,确保在将其发送回浏览器之前进行UTF8编码,并在输出任何其他内容之前将以下标题发送到浏览器:

header ('Content-type: text/html; charset=utf-8');

我希望能为您解决问题。

答案 1 :(得分:0)

我认为问题是当您从用户那里获得数据时,请确保您使用探测器编码接收数据。