我需要在GUI App中设置charset。
应用程序获取解析网页的结果并在TextBox中显示结果;
网页字符集 - Windows-1251。
我的显示器显示黑色菱形。
THX!
using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Text.RegularExpressions;
using System.Net;
namespace WindowsFormsApplication1{
public partial class Form1 : Form{
public Form1(){
InitializeComponent();
}
private void get_field_Click(object sender, EventArgs e){
string url = url_field.Text;
string pattern = pattern_field.Text;
string html = string.Empty;
HttpWebRequest myHttpWebRequest = (HttpWebRequest)HttpWebRequest.Create(url);
HttpWebResponse myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse();
StreamReader result = new StreamReader(myHttpWebResponse.GetResponseStream(), Encoding.GetEncoding(1251));
html = result.ReadToEnd();
MatchCollection matches = Regex.Matches(html, pattern);
foreach(Match title in matches){
GroupCollection group = title.Groups;
result_field.Text += group[1].ToString() + "\n\n\n";
}
}
}
答案 0 :(得分:0)
在Windows窗体上,使用富文本框。
答案 1 :(得分:0)
没有足够的信息(AFAICT)来明确地确定什么是“真正的问题”,但是如果有用的话,文化信息是基于每个线程存储的,你可以找到当前使用的代码页使用System.Threading.Thread.CurrentThread.CurrentUICulture.TextInfo的线程 - 请参阅http://msdn.microsoft.com/en-us/library/system.globalization.cultureinfo.textinfo.aspx。如果需要,您可以将CurrentUICulture设置为其他内容。
但是,知道未能显示的确切字符会更有帮助。 :)根据我的经验,只要我安装了正确的字体,所有utf8字符串都显示正常(虽然我不记得是否意味着将语言包安装到Windows中)