来自网页的希腊字符

时间:2014-03-05 20:12:01

标签: c# html sql-server

我遇到希腊字符问题。我导航到一个有文本框和文本框的网页转到按钮,我以编程方式在文本框中输入一个数字,然后以编程方式单击“转到”按钮。然后我从网页上获取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

如何在原始网页上显示它(例如,ΑΔΑΜΟΣΓΑΒΡΙΗΛΙΔΗΣ&ΣΙΑ)?

2 个答案:

答案 0 :(得分:1)

将数据库表中的varchar更改为nvarchar,并将页面编码更改为UTF-8

答案 1 :(得分:0)

如果您确定这是乱码您的代码的javascript,并且您的数据库和页面本身设置为UTF8那么如果我记得很清楚您需要使用十六进制字符作为希腊字母 See this page

κουράγιο