繁体   English   中英

在 UTF-8 字符集中显示文本,没有错误的字符

[英]Display text in UTF-8 charset without wrong characters

我有一个包含一些内容的文本文件,我想在我的网页上显示它。 我正在以这种方式加载内容:

$txt = file_get_contents('new.txt');

当我使用charset=UTF-8显示内容时,它看起来像这样:

在此处输入图像描述

当我使用charset=ISO-8859-1时,它看起来像这样:

在此处输入图像描述

我希望文本看起来像第二个示例,但使用charset=UTF-8而不是 ISO-8859-1。 如何转换文本以使其正确显示?

您可以处理原始数据或即时转换。

如果您打算将所有新数据以 UTF-8 格式存储,那么批量转换所有旧数据会更有利。 在原始数据中混合编码并不好玩。 您可以参考此问题来查找批量转换命令建议。

另一方面,如果您要将输入和存储保持在 ISO-8859-1 编码中,那么您唯一能做的就是即时转换文档。

$txt = iconv('iso-8859-1', 'utf-8', file_get_contents('new.txt'));

或者如果您的源文件有混合编码iso-8859-1和其他未知编码,您可以添加//IGNORE标志以防止错误:

$txt = iconv('iso-8859-1', 'utf-8//IGNORE', file_get_contents('new.txt'));

这需要更多的计算能力来每次显示页面。 因此,最好始终转换原始内容(除非您的情况不可能)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM