首頁 > 後端開發 > php教程 > XML文件空格符有关问题

XML文件空格符有关问题

WBOY
發布: 2016-06-13 12:16:22
原創
1082 人瀏覽過

XML文件空格符问题
XML文件

<br /><?xml version="1.0" encoding="utf-8"?><br /><Location><br />  <CountryRegion Name="Afghanistan" Code="AFG"><br />    <State ><br />      <City Name="Herat" Code="HEA"/><br />      <City Name="Kabul" Code="KBL"/><br />      <City Name="Kandahar" Code="KDH"/><br />      <City Name="Mazar-i Sharif" Code="MZR"/><br />    </State><br />  </CountryRegion><br />  <CountryRegion Name="Aland lslands" Code="ALA" /><br /><CountryRegion Name="United?States" Code="USA"><br />    <State Name="Alabama" Code="AL"><br /></CountryRegion><br />
登入後複製

我把上述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');<br /><br />preg_match_all('/United.+/m', $s, $m);<br />foreach($m[0] as $v) {<br />  echo "$v\n";<br />  echo bin2hex($v), PHP_EOL;<br />}
登入後複製
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);<br />foreach($m[0] as $v) {<br />  echo "$v\n";<br />  echo bin2hex($v), PHP_EOL;<br />}
登入後複製
就更多了

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板