Russian Qt Forum

Qt => Работа с сетью => Тема начата: McFlooder от Октябрь 01, 2009, 20:12



Название: Как сменить кодировку в QWebView
Отправлено: McFlooder от Октябрь 01, 2009, 20:12
Вот такая вот функция:
Код:
void MainWindow::on_webView_loadFinished(bool ok)
{
    Ui_MainWindow::statusBar->removeWidget(pbar);
    delete(pbar);
    if (!ok) {
        webView->setHtml(QString("<html><head><title>Ошибка загрузки!!!</title><meta http-equiv=Content-Type content=\"text/html; charset=UTF-8\"></head><body bgcolor='blue'><center><H1>Ошибка!!!</H1></center><hr>При доступе к сайту произошла ошибка. Пожалуйста проверьте ваше подключение к интернету.</body></html>"));
    }
}

Вместо русского текста при ошибке загрузки сплошные кракозяблы. Я так понимаю, что по умолчанию стоит кодировка latin1. Как бы мне это побороть?


Название: Re: Как сменить кодировку в QWebView
Отправлено: KADABRA от Октябрь 01, 2009, 22:51
http://doc.trolltech.com/main-snapshot/qwebview.html#setHtml
Цитировать
When using this method, WebKit assumes that external resources such as JavaScript programs or style sheets are encoded in UTF-8 unless otherwise specified. For example, the encoding of an external script can be specified through the charset attribute of the HTML script tag. Alternatively, the encoding can also be specified by the web server.


Название: Re: Как сменить кодировку в QWebView
Отправлено: McFlooder от Октябрь 02, 2009, 21:12
Это относится к внешним (external) ресурсам. А вот как задать кодировку документу передающемуся в параметре функции - большая загадка.


Название: Re: Как сменить кодировку в QWebView
Отправлено: KADABRA от Октябрь 03, 2009, 00:00
Это относится к внешним (external) ресурсам. А вот как задать кодировку документу передающемуся в параметре функции - большая загадка.
Попробуйте всё-таки задать <meta http-equiv="Content-Type" content="text/html; charset=кодировка" />