这是一个Android的示例。当我在桌面Java中尝试它时,同样的事情也发生了。我怎么才能让它工作?
前缀来自另一个关于在WebViews中显示UTF-8的问题。
public class MainActivity extends Activity
{
Util util = Util.get(this);
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
WebView w = new WebView(this);
setContentView(w);
String prefix = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>";
String data0 = "%92";
String data;
try
{
data = URLDecoder.decode(data0, "UTF-8");
}
catch (UnsupportedEncodingException e)
{
data = e.getLocalizedMessage();
}
w.loadData(prefix + data, "text/html; charset=UTF-8", "utf-8");
}
}发布于 2012-06-12 16:49:16
url编码的二进制八位数字符串%92不是有效的UTF-8编码字符串。不过,它在Windows-1252中是有效的;在那里,它对应于右方的单引号’。也许你应该使用"cp1252"而不是"UTF-8"
如果您想使用UTF-8,那么右方的单引号应该被URL编码为%E2%80%99。
https://stackoverflow.com/questions/10987406
复制相似问题