C # установить кодировку на веб-странице - PullRequest
0 голосов
/ 14 января 2012

Мне нужно установить кодировку в приложении с графическим интерфейсом.

Приложение получает результат анализа веб-страницы и отображает результат в 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";
        }
    }
}

Ответы [ 2 ]

0 голосов
/ 14 января 2012

Недостаточно информации (AFAICT), чтобы окончательно определить, что является «реальной проблемой», но в случае ее полезности информация о культуре сохраняется для каждого потока, и вы можете узнать кодовые страницы, используемые текущимпоток с System.Threading.Thread.CurrentThread.CurrentUICulture.TextInfo - см. http://msdn.microsoft.com/en-us/library/system.globalization.cultureinfo.textinfo.aspx.Вы можете установить CurrentUICulture на что-то другое, если это необходимо.

Зная точные символы, которые не отображаются, было бы гораздо полезнее.:) По моему опыту, все строки utf8 отображались нормально, если у меня были установлены правильные шрифты (хотя я не помню, означало ли это установку языкового пакета в Windows или нет)

0 голосов
/ 14 января 2012

В форме Windows используйте текстовое поле с расширенным набором символов.

...