一尘不染

PHP输出显示带有问号的little black diamonds

php

我正在写一个从数据库源中提取的php程序。某些varchar的引号显示为带有问号的黑色菱形(…,REPLACEMENT CHARACTER,我从Microsoft Word文本假定)。

如何使用php去除这些字符?


阅读 460

收藏
2020-05-26

共1个答案

一尘不染

如果看到该字符(U + FFFD“ REPLACEMENT CHARACTER”),则通常意味着文本本身以某种形式的单字节编码进行编码,但以一种Unicode编码(UTF8或UTF16)进行解释。

如果相反,它通常会看起来像这样:¤。

原始编码可能是ISO-8859-1,也称为Latin-1。您可以在无需更改脚本的情况下进行检查:浏览器为您提供了以不同编码重新解释页面的选项-在Firefox中,使用“查看”->“字符编码”。

为了使浏览器使用正确的编码,请添加一个HTTP标头,如下所示:

header("Content-Type: text/html; charset=ISO-8859-1");

或将编码放入meta标签中:

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

或者,您可以尝试以其他编码方式(最好是UTF-8)从数据库中读取数据,或使用转换文本iconv()。

2020-05-26