我使用Sencha Touch、OpenLayers创建了一个小型测试页面,并且正在从GeoServer接收 WMS/WFS 数据。
我已将 HTML 页面上的编码设置为 UTF-8:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
我使用以下语句从我的 GeoServer 中提取一些 WFS 数据:
var post = new OpenLayers.Request.POST({
url: 'dataprovider.ashx',
data: ...,
headers: {
"Content-Type": "text/xml;charset=utf-8"
},
callback: function (response) {
...
},
});
我认为这应该给我编码为 UTF-8 的请求数据。
使用 iPhone 4 (IOS 4) 和三星 Galaxy Tab 10.1 (Android 3.1) 可以正常工作。
我的问题是:使用带有 Android 2.2 的设备,我以不同的编码获取数据。
我希望收到的其中一个词是Høj
,但我收到Høj
(ANSI)。
使用 FireFox 和 Chrome 我知道如何调试来自 GeoServer 的响应,但我不知道如何调试手机或平板电脑。
为什么 Android 2.2 上的编码错误?
更新:问题似乎与使用 Android 2.2 的设备有关。HTC Legend、三星 Galaxy SII 和三星 Galaxy Tab 7 都存在问题 - 均运行 Android 2.2。