Автор Тема: Эх - кодировка  (Прочитано 2167 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Dolce0109

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 36
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.koulikov.cc/
Эх - кодировка
« : 18 Января 2002, 20:43:38 »
Пишу тут одно мейл приложение - http://www.koulikov.cc (прошу не нервничать, порт.ру разрешение на использования дизайна дало)... так вот, как переводить текст из одной кодировки (KOI в WIN и обратно) я знаю, но вот в чём проблема, а как определить в какой кодировке находится письмо изначально?? И ещё, как определить систему пользователя, а то на *nixe всё в KOI прекрасно видно (почти, кроме мейлов посланных с серверов мирософта) и наоборот... :((
--==(-_-)==--
____DOLCE____

Оффлайн Oak

  • Дерево
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1481
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Эх - кодировка
« Ответ #1 : 18 Января 2002, 21:05:14 »
Est\' algoritmi chastotnogo analiza dlya opredeleniya kodirovki. Poschi v inete.

Ya pol\'zuyus\' takim scriptom SHELL:

#!/bin/sh

for i in $*
do
        echo -n $i:

cat $i |tr "#@" "12" |tr -s "иоуэяИОУЭЯ" "#" | tr -s "ХНСЩЪйпхьс" "@"  >/tmp/test_l.$$

koi=`cat /tmp/test_l.$$ |tr -cd "#" | wc | tr -s " " "a" | cut -f 4 -d a `
win=`cat /tmp/test_l.$$ |tr -cd "@" | wc | tr -s " " "a" | cut -f 4 -d a `
rm /tmp/test_l.$$
        if test $koi = 0 -a $win = 0
                then
                        echo " eng"
        else
        if expr $koi \\> $win >/dev/null
                then
                        echo " koi"
                else
                        echo " win"
        fi
        fi
done



Emu govorish  check_charset.sh file1 file2 ... ono govorit v kakom ono vide
Etot algoritm mozhno na kakom ugodno yazike napisat\'.
(primechanie - privedennie russkie bukvi - eto pravil\'nie dlya koi8 kodirovki).
[основной броузер - SeaMonkey] Netscape Communicator 4 - is the best :) // see sources

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28