2012-05-16 3 views
0

У меня есть файл HTML, который я хочу загрузить в QWebView. Заголовок выглядит примерно так:QtWebKit не отображается японский (Shift_JIS charset)

<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> 
</head> 

Текст корпуса смешанный латинский и японский символы.

Эта страница отлично отображена в Chrome, но все японские символы заменяются , когда страница отображается в QWebView.

QtWebKit, кажется, использует ту же систему, используемой для обработки QTextCodec преобразования между Юникодом и другими кодировками (пожалуйста, поправьте меня, если я ошибаюсь, на это), и я поэтому работаю на предположении, что QtWebKit может поддерживать Shift_JIS.

В качестве теста, я попытался добавить конкретный Юникода для кандзи характера (например &#x3041; для отображения & # x3041;) в моем HTML-файл. Я получаю персонажа, правильно отображаемого в Chrome, но он также отображается как в QWebView. Я не уверен, означает ли это, что я могу доверять преобразованию Shift_JIS в unicode в Qt, но это, конечно, означает, что я не могу предположить, что это причина проблемы.

Я не уверен, куда идти отсюда; любые предложения относительно решений или других областей для расследования будут высоко оценены.

ответ

1

Оказывается, я был чрезмерно думая, что это один, есть на самом деле довольно простое решение:

Столкнувшись с символами кандзи, которые текущий шрифт не может показать, Chrome достаточно умен, чтобы упасть назад к шрифту, который поддерживает эти символы (на моем Win 7 PC шрифт Кандзи по умолчанию - MS Gothic).

QtWebKit не имеет этой функции, и, следовательно, необходимо явно указать (в CSS) шрифт, поддерживающий кандзи, для областей, которые в нем нуждаются.

+0

Эй, @sjwarner, как вы в конечном итоге решили или обошли эту проблему? У меня точно такая же проблема, и я хочу показать английские символы в правильном шрифте и неанглийских символах в резервном шрифте. См. Мой собственный аналогичный пост stackoverflow здесь: http://stackoverflow.com/questions/12769169/how-to-fix-work-around-qtwebkits-incorrect-font-fallback-behavior –

+0

Привет, yoni, поскольку подавляющее большинство контента на странице, упомянутой здесь, находится в Кандзи, а не на латинском языке. Я просто применил шрифт кандзи и латинский шрифт на всю страницу. Мои латинские персонажи выглядят не так, как хотелось бы, но главная проблема для меня здесь - читаемость в Японии. Извините, что больше не помогаю. – sjwarner

Смежные вопросы