这是PHP代码:
var_dump($value);
string(103) "0e0cU\0Z‚dddd.is.moar.awesome‚A6A32C2074B787893DF506F6F466F5919516C44F3"
var_dump(explode(',', $value));
array(1) { [0]=> string(103) "0e0cU\0Z‚dddd.is.moar.awesome‚A6A32C2074B787893DF506F6F466F5919516C44F3" }
为什么不在逗号上拆分字符串?
答案 0 :(得分:11)
因为您尝试explode()
的字符串中的字符不是逗号,而是an ASCII comma: ,
(decimal code point 44
)。字符串中的逗号是Unicode Character 'SINGLE LOW-9 QUOTATION MARK' (decimal code point 8218
).
在JavaScript控制台中试试这个:
> '‚' === ','
false
答案 1 :(得分:0)
经过大量调查,真正的问题是输入字符串是Windows-1252编码。因此,在我首先将其转换为unicode之前,尝试替换U + 201A并不起作用。