Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ Qt Общие вопросы _ Определение кодировки

Автор: lioncub 10.11.2009, 21:51

1. Как определить в какой кодировке текстовый файл (CP1251, UTF-8 ) для последуещего открытия в textEdit?
2. Как открыть текстовый файл в любой кодировке ((CP1251, UTF-8 ) и сохранить в ней же?

ps у меня система в utf8

Автор: ViGOur 10.11.2009, 22:01

Глянь: http://girchenko.narod.ru/, там есть исходники, хоть и для Qt 3, но думаю общая идея будет понятна и перенести на Qt 4 не составит проблем.

Просьба, как напишешь можешь выложить, здесь? Просто это популярный вопрос, и пока нормального исходника для Qt 4 я не видел. За одно и на сайт в раздел исходников можно будет положить...

Автор: Litkevich Yuriy 11.11.2009, 4:03

как я понимаю, по этому поводу создано некоторое кол-во библиотек, которые анализируют "текст" и пытаются определить кодировку.

Автор: lioncub 11.11.2009, 10:28

у кого-нибудь есть ui от QTexTransformer?

А кто пробовал QTextCodec * QTextCodec::codecForHtml ? С текстом он работает или на оновании тэгов?

зы плохо, что тут невозможно редактировать сообщения

Автор: Litkevich Yuriy 11.11.2009, 11:03

Цитата(lioncub @ 11.11.2009, 13:28) *
А кто пробовал QTextCodec * QTextCodec::codecForHtml ? С текстом он работает или на оновании тэгов?
для каких целей?

Цитата(lioncub @ 11.11.2009, 13:28) *
зы плохо, что тут невозможно редактировать сообщения
наберёшь 20 сообщений сможешь

вот http://sourceforge.net/projects/notepad-plus/ умеет определять кодировку автоматом, может из него выдернуть

Автор: Kagami 11.11.2009, 11:08

KWrite и Kate в KDE4 умеют автоматом определять кодировку

Автор: lioncub 11.11.2009, 11:57

Litkevich Yuriy,

Цитата
Tries to detect the encoding of the provided snippet of HTML in the given byte array, ba, and returns a QTextCodec instance that is capable of decoding the html to unicode.


как детектор

Автор: Litkevich Yuriy 11.11.2009, 13:06

lioncub, в HTML предусмотрены специальные тэги, я думаю он по ним ориентируется.

Автор: Гость 11.11.2009, 15:42

Цитата
Codecs Example
The Codecs example demonstrates the principles behind importing and exporting text using codecs to ensure that characters are encoded properly, avoiding loss of data and retaining the correct symbols used in various scripts.
http://qt.nokia.com/doc/4.5/tools-codecs.html, оно?

Автор: Litkevich Yuriy 11.11.2009, 16:29

Этот пример не имеет автоопределения кодировки

Автор: lioncub 11.11.2009, 16:34

выяснил, что QTexTransformer имеет корни с xcode

Автор: novichkov 11.11.2009, 19:33

Я в Linux использовал программу enca - через QProcess. Более-менее работало.

Автор: Rocky 26.2.2010, 21:55

Цитата(novichkov @ 11.11.2009, 19:33) *
выяснил, что QTexTransformer имеет корни с xcode

угу, и с iconv...
Все исходники просмотрел, нашел только вот
QString auto_detect (const QString &filename, bool iconvret )
{
    QString com_enca("enca");

    if (iconvret) com_enca += " -i '"+filename+"'";
    else com_enca += " -e '"+filename+"'";
    
    FILE *enca = popen( com_enca.local8Bit(), "r");
    char outstr[80];
    fgets(outstr, 80, enca);
    pclose(enca);
    QString cp( outstr );
    cp = cp.stripWhiteSpace();
    int pozslash;
    if ( (pozslash = cp.find( '/' )) != -1 )
    cp = cp.left( pozslash );
    return cp;
}

Так что автоопределение тут на основе enca... Боюсь если разбирать gedit или kate (у них есть автоопределение) то там тоже либо в нее либо в iconv упрется ( Блин, а вот исходники для enca чет не найти ( Сайт ее разобран щас вроде как (

Автор: kwisp 27.2.2010, 11:51

Цитата(Rocky @ 26.2.2010, 21:55) *
Блин, а вот исходники для enca чет не найти ( Сайт ее разобран щас вроде как (

у меня есть если надо на мыло могу выслать.
сюда не могу выложить то tar.bz2 не нравится то размер большой.

Автор: Rocky 27.2.2010, 16:44

Было бы здорово ) Хотел у тебе в личку свою почту написать.. но не нашел кнопки "написать сообщение" ((

Автор: kwisp 27.2.2010, 17:47

напиши тут почту свою я тебе отправлю письмо.

П.С.
под моим именем слева разве нет опции профиля->отправить сообщение?

Автор: Rocky 27.2.2010, 17:56

я в личку отписался ) нашел-таки) Давно никому ничего не писал, уже забыл где эта кнопка...

Автор: shalunya 15.10.2010, 11:51

а мне можно тоже исходники, плиз?
очень надо :blush:

Автор: kwisp 15.10.2010, 13:46

shalunya, http://dl.cihar.com/enca/

Автор: shalunya 15.10.2010, 14:03

Цитата(kwisp @ 15.10.2010, 14:46) *
shalunya, http://dl.cihar.com/enca/

Спасибо!!!

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)