Вверх ↑
Этот топик читают: Гость
Ответов: 3851
Рейтинг: 159
#16: 2008-01-13 14:15:26 ЛС | профиль | цитата
А нельзя ли, пожалуйста, сделать обратный преобразователь
карма: 0
начавший
0
Разработчик
Ответов: 26301
Рейтинг: 2146
#17: 2008-01-13 14:19:57 ЛС | профиль | цитата
Андрей. писал(а):
А нельзя ли, пожалуйста, сделать обратный преобразователь
Можно, работаем над этим
карма: 22

0
Ответов: 3851
Рейтинг: 159
#18: 2008-01-13 14:24:22 ЛС | профиль | цитата
Спасибо, буду ждать

Есть у кого машина времени ненадолго?
карма: 0
начавший
0
Ответов: 3655
Рейтинг: 69
#19: 2008-01-13 19:17:13 ЛС | профиль | цитата
Dilma У меня этот топик постоянно
в новых сообщениях уже второй день висит.
карма: 0

0
Разработчик
Ответов: 26301
Рейтинг: 2146
#20: 2008-01-15 01:05:04 ЛС | профиль | цитата
На SVN доступна новая версия CharSet, которая позволет перекодирование любых известных кодировок (включая UTF-8)

Новую версию можно скачать отсюда:
[svn]Charset.pas[/svn]

исправление POP3_Parse
[svn]POP3_Parse.pas[/svn]

Добавились новые иконки на каждый тип конвертирования

по адресу: SVN icon -- файлы Charset_0.ico ... Charset_8.ico

Пример переконвертирования UTF-8 с использованием новой версии CharSet -- UTF8_TO_ANSI


карма: 22

0
Ответов: 9906
Рейтинг: 351
#21: 2008-01-15 13:51:46 ЛС | профиль | цитата
nesco, я тебе один умный вещь скажу, только ты не обижайся

KOI8-R, и DOS - это тоже соответствующие локали. 20866 и 866-я -- вроде бы
Теперь POP3_Parse фиксить надо...
------------ Дoбавленo:

Между прочим, пример и без BlockFind работает - отличает штатный английский от utf8...
Т.е., я так и не смог догадаться, зачем были пляски с бубном вокруг UTF8ToStrSmart в исходном примере...
карма: 9

0
Разработчик
Ответов: 26301
Рейтинг: 2146
#22: 2008-01-15 14:44:53 ЛС | профиль | цитата
Galkov, но ANSI и UTF-8, то же локали -- 0(3) и 60051. Да для совместимости, я не стал трогать предыдущие методы. ANSI(3) To UTF-8(60051) и обратно я сделал для упрощения, чтобы вопросов меньше задавали.

Galkov писал(а):
Т.е., я так и не смог догадаться, зачем были пляски с бубном вокруг UTF8ToStrSmart в исходном примере...
А я и не делал этого метода

Galkov писал(а):
Теперь POP3_Parse фиксить надо...
Ну если бы я еще в POP3 шарил (ну не сталкивался я с этим)...

Galkov писал(а):
только ты не обижайся
А я и не понял, на что обижаться-то...

------------ Дoбавленo:


Я наконец понял, что ты хотел сказать. Надо выкинуть бывший штатный методs DOS-WIN-DOS и заменить обращением на новый, ну так это не проблема. Ну и KOI-8 туда же.
В данном случае WIN должна быть текущей ANSI(3), я правильно понял ?
карма: 22

0
Ответов: 9906
Рейтинг: 351
#23: 2008-01-15 15:23:30 ЛС | профиль | цитата
Вообще-то -- нет
Мы это используем как 1251. Вроде и DOS ведь у нас понимается как русский...
А вот в POP3_Parse, если его фиксить -- думаю как раз логично было бы применить 3-ю
Это же локаль для RunTime
И пусть "немцы" на "немецком" письма и читают...

Да, а с "выкинуть" - аккуратнее надо
  • ищещь ВСЕ файлы, которые используют hiCharset
  • вроде бы их только 5: hiDynDNS.pas, hiHttp_get.pas, hiPOP3_Parse.pas, hiProxy.pas, hiSMTP.pas
  • но все они, кроме hiPOP3_Parse.pas, юзают только BASE64 - проверяется комментированием этого uses, и смотришь на чего ругается компилятор
  • в POP3 я тоже не фига не шарю, но конверторы utf8 можно прилепить в "групки", которые поставил тот, кто "шарит". Типа в такие (ищешь, например, по магическому слову "koi8"):
    
    #pas
    if StrIComp(PChar(_Char),'koi8-r') = 0 then
    Result := Koi8ToWin(Result)
    else if StrIComp(PChar(_Char),'ibm866') = 0 then
    Result := DosToWin(Result);
    Должно быть вроде бы правильно.... Ну сам подумай: с чего бы это жопе по полю прыгать...

    Кстати, как раз в этих местах (мне кажется) логично делать 3-ю локаль (а не 1251) как целевую....
    ------------ Дoбавленo:

    Да, и уж очень сильно на мои слова-то не полагайся -- все сам ищи
  • карма: 9

    0
    Разработчик
    Ответов: 26301
    Рейтинг: 2146
    #24: 2008-01-15 15:29:22 ЛС | профиль | цитата
    Galkov писал(а):
    Мы это используем как 1251
    Это для нас, а для немцев, или иврит для Тад'а, для них другие нужны.
    Хорошо, остановимся на 1251, или нет, все же Я на 3-ей проверял, нормально кодируется/декодируется, и кириллица, тоже.

    карма: 22

    0
    Ответов: 9906
    Рейтинг: 351
    #25: 2008-01-15 15:33:50 ЛС | профиль | цитата
    nesco писал(а):
    а для немцев,

    Это ты про тех немцев, которые 866-ю кодировку используют
    Собственно, вопрос даже не в "немцах", а в логической совместимости: оно сегодня работает ТАК.
    И 3-я локаль соответствует 1251 потому-что у тебя комп русский. На другом компе это будет по другому, к примеру... И чего при этом получится - фиг его знает

    Кто хочет по другому, сможет использовать последний метод, и подставить туда кодировку для "немецкого" DOS-а, и "немецкой" же винды.
    На свою ответственность - ему же с пользователями своей программы разбираться.
    И хай гнида подавится
    карма: 9

    0
    Разработчик
    Ответов: 26301
    Рейтинг: 2146
    #26: 2008-01-15 16:35:48 ЛС | профиль | цитата
    Galkov писал(а):
    И хай гнида подавится
    Ну улыбнуло, жжеж не по детски
    ------------ Дoбавленo:

    Исправление на SVN, и POP3_Parse, тоже.
    карма: 22

    0
    Ответов: 9906
    Рейтинг: 351
    #27: 2008-01-15 16:54:44 ЛС | профиль | цитата
    nesco писал(а):
    А я и не понял, на что обижаться-то...

    Мда уж...
    Тут наверное ситуация: "иные времена, иные нравы..."
    Вообще-то, это из "Мимино"

    Вот тебе еще пару древних анекдотов (грубо говоря - первоисточников), на всякий случай...
    А то так и будете лично меня грубияном считать
    1)
    Председатель колхоза выступает на собрании:
    В прошлом годе мы засеяли 200 ГА коноплей... И всю ее сожрала тля...
    В позапрошлом годе мы засеяли 400 ГА коноплей... И всю ее сожрала тля...
    В этом годе!
    Мы засеем 800 ГА коноплей !!
    Хай гнида подавится !!!

    2)
    Наташа Ростова танцует с поручиком Ржевским на балу
    Н: Поручик, отгадайте загадку: без окон, без дверей, полна горница людей?
    Р: Жопа!!!
    Н: Ну что вы, поручик - это же огурчик. А вот еще: два кольца, два конца, посередине - гвоздик?
    Р: Жопа!!!
    Н: Ну что вы, поручик - это же ножницы. А это: маленький, серенький, по полю скачет?
    Р: ((задумался))
    Н: Ну что вы, поручик - это же зайчик.
    Р: Вот и я думаю... Чего бы это жопе по полю прыгать......

    карма: 9

    0
    27
    Сообщение
    ...
    Прикрепленные файлы
    (файлы не залиты)