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’卻可以
網上說是中間 空格符 的問題
這個問題如何解決
------解決思路----------------------
$s = file_get_contents('D:\我的文件\Downloads\全球各國省市(英文版).xml');
preg_match_all('/United.+/m', $s, $m);
foreach($m[0] as $v) {
echo "$v\n";
echo bin2hex($v), PHP_EOL;
}United? Arab? Emirates" Code="ARE">
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;
}就更多了