【问题标题】:PHP substr giving weird characters from xml feedPHP substr 从 xml 提要中给出奇怪的字符
【发布时间】:2014-04-17 00:30:25
【问题描述】:

由于某种原因,在使用 substr 时,我在输出中得到了一个奇怪的字符,例如“”。

我所做的只是:

$price = substr($game->price, 1);
$dollars_original = substr($game->fullPrice, 1);
echo "Price: $" . $price . "<br />\n";
echo "Original Price: $" . $dollars_original . "<br />\n";

这来自这里的 XML 提要:http://itch.io/browse/platform-linux/price-sale.xml 我解析如下:

$url = 'http://itch.io/browse/platform-linux/price-sale.xml';
$xml = simplexml_load_string(file_get_contents($url));

例如,一个价格可能是 0.89 英镑,但是当去掉 £ 符号时,它会显示为 0.89

我在这里错过了什么?

【问题讨论】:

  • 验证输出编码是否匹配输入编码。 � 是不存在字符的占位符标记。
  • 该符号实际上是一个 invalid(格式不正确)UTF-8 多字节字符。通常它表示 x80-xFF 范围内的 Latin-1/Windows-1252 单字节字符,或者 UTF-8 多字节字符被一分为二。

标签: php xml


【解决方案1】:

看起来您在字符编码方面存在混淆。什么是 Latin-1 或 Windows-1252,什么是 UTF-8?如果您正在处理 UTF-8 数据,则可能必须使用支持 UTF-8 的 mb_substr()。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-10-03
    • 1970-01-01
    • 2014-10-04
    • 1970-01-01
    • 2014-03-21
    • 2023-03-08
    • 2018-10-29
    相关资源
    最近更新 更多