我有一个获取位置的API。无法显示从XML中获取的特殊字符
使用Web浏览器,它显示:
<placeID>5</placeID>
<placeName>[email protected]#$%&*?/_"'()-+;</placeName>
<rating>0</rating>
<categoryID>2</categoryID>
</place>
使用HTTPGET和outputing安慰,它表明:
<place>
<placeID>5</placeID>
<placeName>[email protected]#$%&*?/_"'()-+;</placeName>
<rating>0</rating>
<categoryID>2</categoryID>
</place>
在Android上显示地名,它显示[email protected]#$%
我将原始数据库中的字符串,并在API中使用htmlspecialchars($ placeName)。
问题与?~=\^[]{}<>:);):(:'(:o:P:$:S
相同,它在控制台上变成?~=\^[]{}<>:);):(:'(:o:P:$:S
,在Android上变成?~=\^[]{}
。
我想在Android上显示所有特殊字符,就像它存储在数据库中一样。
看到这可能会帮助你http://stackoverflow.com/a/10000095/1289716 – MAC 2012-07-28 09:45:46
你为什么用' htmlspecialchars()'在你存储到数据库之前? – Adi 2012-07-28 10:10:32
@Adnan:不,我在DB中存储原始字符串“!@#$%&*?/ _”'() - +;“,在使用XML显示它之前,我使用htmlspecialchars(), – Emerald214 2012-07-28 10:57:35