Why is PHP's explode wrong?
Here is the PHP code:
var_dump($value);
string(103) "0e0cU Z‚dddd.is.moar.awesome‚A6A32C2074B787893DF506F6F466F5919516C44F3"
var_dump(explode(',', $value));
array(1) { [0]=> string(103) "0e0cU Z‚dddd.is.moar.awesome‚A6A32C2074B787893DF506F6F466F5919516C44F3" }
Why isn't the string being split on the comma?
Because the character in the string you're trying to explode()
is not a comma – well, not an ASCII comma: ,
(decimal code point 44
). The comma in the string is a Unicode Character 'SINGLE LOW-9 QUOTATION MARK' (decimal code point 8218
).
Try this in your JavaScript console:
> '‚' === ','
false
After a lot of investigation, the real problem was that the input string was in the Windows-1252 encoding. Therefore trying to replace U+201A didnt work until I converted it to unicode first.
链接地址: http://www.djcxy.com/p/92674.html下一篇: 为什么PHP的爆炸错误?