我遇到希腊字符问题。我导航到一个有文本框和文本框的网页转到按钮,我以编程方式在文本框中输入一个数字,然后以编程方式单击“转到”按钮。然后我从网页上获取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
如何在原始网页上显示它(例如,ΑΔΑΜΟΣΓΑΒΡΙΗΛΙΔΗΣ&ΣΙΑ)?
答案 0 :(得分:1)
将数据库表中的varchar更改为nvarchar,并将页面编码更改为UTF-8
答案 1 :(得分:0)
如果您确定这是乱码您的代码的javascript,并且您的数据库和页面本身设置为UTF8那么如果我记得很清楚您需要使用十六进制字符作为希腊字母 See this page
κουράγιο