1

这是PHP代码:

var_dump($value);
string(103) "0e0cU\0Z‚dddd.is.moar.awesome‚A6A32C2074B787893DF506F6F466F5919516C44F3"
var_dump(explode(',', $value));
数组(1){
  [0]=>
  string(103) "0e0cU\0Z‚dddd.is.moar.awesome‚A6A32C2074B787893DF506F6F466F5919516C44F3"
}

为什么字符串不以逗号分隔?

4

2 回答 2

11

因为您要尝试的字符串中的字符explode()不是逗号 - 好吧,不是ASCII 逗号:,(decimal code point 44)。字符串中的逗号是Unicode 字符“SINGLE LOW-9 QUOTATION MARK”(十进制代码点8218)。

在你的 JavaScript 控制台中试试这个:

> '‚' === ','
  false
于 2013-04-13T21:37:02.077 回答
0

经过大量调查,真正的问题是输入字符串采用 Windows-1252 编码。因此,尝试替换 U+201A 直到我先将其转换为 unicode 才起作用。

于 2013-04-13T23:42:50.900 回答