如何删除字符,如“quot&引用;从这个字符串使用php
当我执行以下代码时,它返回非标准字符,那么我们如何删除它或获取原始字符串如何删除字符,如“quot&引用;从这个字符串使用php,php,string,Php,String,当我执行以下代码时,它返回非标准字符,那么我们如何删除它或获取原始字符串 header('Content-type: text/html; charset=utf-8'); $String = "à¸?่à¸à¸•à¸±à¹‰à¸‡à¹€à¸¡à¸·à¹ˆà¸"; echo $String; 输出:�?่อตั้งเมื่อ 需要实际结果:ก่อตั้งเมื่อ您提到的字符编码为utf-8,其中as字符串未编码为utf-8。这就是为什么“?”标记出现在输出中而不是预期的输出中。首先,
header('Content-type: text/html; charset=utf-8');
$String = "à¸?่à¸à¸•à¸±à¹‰à¸‡à¹€à¸¡à¸·à¹ˆà¸";
echo $String;
输出:�?่อตั้งเมื่อ代码>
需要实际结果:ก่อตั้งเมื่อ代码>您提到的字符编码为utf-8,其中as字符串未编码为utf-8。这就是为什么“?”标记出现在输出中而不是预期的输出中。首先,为了不被编码问题所迷惑,您确实想阅读以下文章:
第二,我只是做了以下几点:
$ vim ~/sandbox/php/encoding.php
( inserted your code verbatim )
$ cd ~/sandbox/php/
$ php -S localhost:1200
在Firefox中打开页面后,我得到了$String
的内容
我的意思是,我得到了以下几行字符:
à¸?่à¸à¸•à¸±à¹‰à¸‡à¹€à¸¡à¸·à¹ˆà¸
这意味着您的浏览器(无论是哪种浏览器)不知道如何呈现您输入的字符。字符串本身正以UTF-8正确编码。您必须将浏览器设置为将文本显示为UTF-8,或者可能安装支持这些符号的字体
此外,如果您想要输出一些带有UTF-8 Devanagari符号的文本,您只需要在PHP中满足以下要求:
您的源代码文件必须保存在UTF-8中
您必须发送utf-8字符集副标题,您已经这样做了
您必须将要输出到浏览器的字符串逐字输入到源代码中,不需要以任何方式对其进行编码,PHP不在乎
您的字符串,是无效的utf-8。这就是为什么�代码>显示-浏览器不知道如何解释它
正如其他人所指出的,第三个位置上的问号很可能就是问题所在
错误字符串的前三个字节是e0 b8 3f
(3f
是ascii码?
)。我不懂泰语,但是a的字节序列看起来非常相似,应该是e0 b8 81
您是如何获得字符串的?提示:开头附近的问号是错误的,它破坏了UT编码。您能显示实际结果的图像吗?因为至少在我的系统中,没有支持这些字形的字体,因此你在“输出”中写的与在“需要实际结果”中写的没有什么不同,这两行中都有代码点的正方形。@hijarian在windows和android上为我工作。显然,他们是泰国人。这也解释了为什么它会以问号的形式出现。0x81在拉丁文1和windows-1252中未定义。也许OP试图复制并粘贴编码字符串。顺便说一句,在寻找角色上有很好的奉献精神。