Android WebView 不呈现表情符号 U+1F642、U+1F917
Android WebView does not render emoji U+1F642, U+1F917
如果我在 Android WebView 中加载 Unicode 表情符号图表 (http://unicode.org/emoji/charts/full-emoji-list.html),U+1F642 和 U+1F917 的表情符号无法正确呈现。
mWebView = (WebView) findViewById(R.id.web_view);
// Calling all or none of the next 3 calls does NOT change the behavior
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.setWebChromeClient(new WebChromeClient());
mWebView.setWebViewClient(new WebViewClient());
mWebView.loadUrl("http://unicode.org/emoji/charts/full-emoji-list.html");
这特别奇怪,因为在第一列中表情符号没有呈现,但在 Google 列中它们呈现得很好。
见附图。红色框显示了两个表情符号。请注意,在第 3 列中,它们没有正确呈现。在 Google 列(蓝色框)中,它们确实呈现正确。编辑:这是因为蓝色框中的东西是图像。
知道为什么某些表情符号无法在 Android WebView 中正确呈现吗?
这取决于您使用的 Android 的 WebView 版本。
在 Unicode 7.0 中添加了微微笑脸,在 Android 5.0 中开始支持。
拥抱脸在 Unicode 8.0 中添加,Android 6.0.1 开始支持。
我假设您一定是在较旧的 WebView 版本上查看此内容。加载其他列是因为它们实际上是图像,而不是 Unicode 字符(表情符号)本身。
如果我在 Android WebView 中加载 Unicode 表情符号图表 (http://unicode.org/emoji/charts/full-emoji-list.html),U+1F642 和 U+1F917 的表情符号无法正确呈现。
mWebView = (WebView) findViewById(R.id.web_view);
// Calling all or none of the next 3 calls does NOT change the behavior
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.setWebChromeClient(new WebChromeClient());
mWebView.setWebViewClient(new WebViewClient());
mWebView.loadUrl("http://unicode.org/emoji/charts/full-emoji-list.html");
这特别奇怪,因为在第一列中表情符号没有呈现,但在 Google 列中它们呈现得很好。
见附图。红色框显示了两个表情符号。请注意,在第 3 列中,它们没有正确呈现。在 Google 列(蓝色框)中,它们确实呈现正确。编辑:这是因为蓝色框中的东西是图像。
知道为什么某些表情符号无法在 Android WebView 中正确呈现吗?
这取决于您使用的 Android 的 WebView 版本。
在 Unicode 7.0 中添加了微微笑脸,在 Android 5.0 中开始支持。
拥抱脸在 Unicode 8.0 中添加,Android 6.0.1 开始支持。
我假设您一定是在较旧的 WebView 版本上查看此内容。加载其他列是因为它们实际上是图像,而不是 Unicode 字符(表情符号)本身。