XML文件空格符有关问题
程序员文章站
2024-01-22 20:26:34
...
XML文件空格符问题
XML文件
我把上述xml的信息转存到mysql,在查询的时候发现中间带有空格键的某些值是可以查询的,而某些却查询不到.
比如
SELECT * FROM `dux_region` WHERE `region_name` = 'Aland lslands' 可以查询出来
而手写的'United States'
SELECT * FROM `dux_region` WHERE `region_name` = 'United States' 不能查出数据
但是从XML中复制的 ‘United States’却可以
网上说是中间 空格符 的问题
这个问题如何解决
------解决思路----------------------
556e69746564c2a041726162c2a0456d6972617465732220436f64653d22415245223e0d
United? Kingdom" Code="GBR">
556e69746564c2a04b696e67646f6d2220436f64653d22474252223e0d
United? States" Code="USA">
556e69746564c2a05374617465732220436f64653d22555341223e0d
United? States? Minor? Outlying? Islands" Code="UMI" />
556e69746564c2a0537461746573c2a04d696e6f72c2a04f75746c79696e67c2a049736c616e64732220436f64653d22554d4922202f3e0d
看到了吧?那可不是空格哟,虽然表现一样
而反过来查
XML文件
我把上述xml的信息转存到mysql,在查询的时候发现中间带有空格键的某些值是可以查询的,而某些却查询不到.
比如
SELECT * FROM `dux_region` WHERE `region_name` = 'Aland lslands' 可以查询出来
而手写的'United States'
SELECT * FROM `dux_region` WHERE `region_name` = 'United States' 不能查出数据
但是从XML中复制的 ‘United States’却可以
网上说是中间 空格符 的问题
这个问题如何解决
------解决思路----------------------
$s = file_get_contents('D:\我的文档\Downloads\全球各国省市(英文版).xml');United? Arab? Emirates" Code="ARE">
preg_match_all('/United.+/m', $s, $m);
foreach($m[0] as $v) {
echo "$v\n";
echo bin2hex($v), PHP_EOL;
}
556e69746564c2a041726162c2a0456d6972617465732220436f64653d22415245223e0d
United? Kingdom" Code="GBR">
556e69746564c2a04b696e67646f6d2220436f64653d22474252223e0d
United? States" Code="USA">
556e69746564c2a05374617465732220436f64653d22555341223e0d
United? States? Minor? Outlying? Islands" Code="UMI" />
556e69746564c2a0537461746573c2a04d696e6f72c2a04f75746c79696e67c2a049736c616e64732220436f64653d22554d4922202f3e0d
看到了吧?那可不是空格哟,虽然表现一样
而反过来查
preg_match_all('/.+\xc2\xa0.+/m', $s, $m);就更多了
foreach($m[0] as $v) {
echo "$v\n";
echo bin2hex($v), PHP_EOL;
}
相关文章
相关视频
上一篇: mysqlslap 压力测试工具