2014-03-05 121 views
0

我遇到希腊字符问题。我浏览到一个带有文本框的网页&转到按钮,我以编程方式在文本框中输入一个数字,然后以编程方式单击“转到”按钮。然后我从网页上获取HTML。这些有一些希腊字符。这是我写的代码。希腊字符从网页

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(mainURL); 
request.Headers.Set(HttpRequestHeader.AcceptLanguage, "en-US"); 
request.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)"; 
request.Timeout = 100000; 
request.ContentType = "charset=iso-8859-7;windows-1253;charset=iso-8859-8;windows-1254;"; 
WebClient wc = new WebClient(); 
WebBrowser b = new WebBrowser(); 
wc.Encoding = Encoding.UTF8; 
try 
{ 
    b.Navigate(mainURL); 
    while (b.ReadyState != WebBrowserReadyState.Complete) 
    { 
     Application.DoEvents(); 
    } 
string searchNum="10002"; 
HtmlElement userName = b.Document.GetElementById("ctl00$cphMyMasterCentral$ucSearch$txtNumber"); 
userName.SetAttribute("value", searchNum); 
userName.RemoveFocus(); 
b.Document.GetElementById("ctl00_cphMyMasterCentral_ucSearch_lbtnSearch").InvokeMember("click"); 
string url = "https://www.example.com"; 
html = wc.DownloadString(url); 
html = HttpUtility.HtmlDecode(html); 

在网页上,当我没有以编程方式做这个输出。

Name      Reg. Number Type   NameStatus OrgStatus 
ΑΔΑΜΟΣ ΓΑΒΡΙΗΛΙΔΗΣ & ΣΙΑ Σ 10002 Partnership  Current Name Active 

但是,当我做到这一点编程我得到这个

Name      Reg. Number Type   NameStatus OrgStatus 
αδα??Σ Γα?????? δ?Σ & Σ?α Σ 10002 Partnership  Current Name Active 

我如何保存它,因为它是在原来的网页(eg.ΑΔΑΜΟΣΓΑΒΡΙΗΛΙΔΗΣ&ΣΙΑ)所示?

+0

你试过Encoding.Unicode? – Steve

+1

设置你的页面编码为UTF-8,并尝试从数据库获取数据使用N'FOO' – Maysam

+0

@Maysam,我不知道什么是N'FOO'。你能详细说明吗? – Rashmi

回答

1

更改为varchar在数据库表nvarchar和更改页面编码为UTF-8

0

如果你确信是搞乱你的代码的JavaScript,和你的数据库和网页本身被设置为UTF8 thenm如果我记得很清楚,你需要使用十六进制字符的希腊字母 See this page

κουράγιο

+0

你不记得了... –