Windows Phone 7 WebBrowser中文乱码问题

移动开发
Windows Phone 7中的WebBrowser很好用,但有时候,我们的HTML是程序动态生成的,这个情况下使用NavigateToString方法则更加方便,然而却遇到了中文乱码问题。

Windows Phone 7中的WebBrowser很好用,其中最常用的方法应该是Navigate了,该方法传入一个Uri对象,既可以是某个网址的绝对路径,也可以是IsolateStorage里某个网页的相对路径。但有时候,我们的HTML是程序动态生成的,这个情况下使用NavigateToString方法则更加方便(否则需要先将网页写入IsolateStorage),然而却遇到了中文乱码问题,比如如下一个极简单的例子就会出现乱码情况。

  1. WebBrowser1.NavigateToString("<html><head></head><body><h1>这里是中文内容</h1><h2>Here are English Content</h2></body></html>");  

WP7中WebBrowser的乱码问题

经过网上搜索,找到了解决方案,原文为International UTF-8 Characters in Windows Phone 7 WebBrowser Control,里面给出了一个转换算法,经过实验,乱码问题解决了,但是效率比较低(尤其是HTML有几十KB的时候),所以又简单改进了一下如下。

  1. public static string ConvertExtendedASCII(string HTML)  
  2. {  
  3.     StringBuilder str = new StringBuilder();  
  4.     char c;  
  5.     for (int i = 0; i < HTML.Length; i++)  
  6.     {  
  7.         c = HTML[i];  
  8.         if (Convert.ToInt32(c) > 127)  
  9.         {  
  10.             str.Append("&#" + Convert.ToInt32(c) + ";");  
  11.         }  
  12.         else 
  13.         {  
  14.             str.Append(c);  
  15.         }  
  16.     }  
  17.     return str.ToString();  

 

OK,重新运行一下NavigateToString,没有乱码了,这样一来,Windows Phone的WebBrowser就比较***了。

  1. WebBrowser1.NavigateToString(ConvertExtendedASCII("<html><head></head><body><h1>这里是中文内容</h1><h2>Here are English Content</h2></body></html>")); 

WP7中WebBrowser的乱码问题

原文地址:http://www.wtnzone.com/post/2011/09/05/WP7-WebBrowser-NavigateToString-International-UTF-8.aspx

责任编辑:王晓东 来源: wtnzone
相关推荐

2012-08-13 09:56:45

Windows Pho

2010-11-26 16:00:08

Windows Pho

2013-07-30 11:18:37

Windows PhoWindows Pho

2010-05-05 13:16:02

Windows PhoWindows CE

2011-06-07 11:35:38

Windows Pho

2010-08-05 15:26:19

Windows Pho

2010-10-25 14:07:55

Windows Pho

2012-08-16 10:35:50

Windows Pho

2010-07-21 14:56:21

Windows Pho

2011-06-08 09:43:15

Windows Pho

2010-12-01 13:40:13

枢轴控件Windows Pho

2010-12-14 18:48:49

微软

2010-12-01 13:55:29

地图插件Windows Pho

2010-10-11 14:42:49

Windows Pho

2010-11-09 09:43:22

UI设计Windows Pho

2010-04-08 17:40:23

Windows Pho

2011-06-17 10:04:56

Windows PhoWindows Pho微软

2011-07-12 09:20:32

Windows 8Windows Pho

2011-12-28 10:24:49

Windows Pho

2009-11-26 16:30:52

Suse中文乱码问题
点赞
收藏

51CTO技术栈公众号