Forum Webscript.Ru

Программирование => PHP => Тема начата: Dolce0109 от 18 Января 2002, 20:43:38

Название: Эх - кодировка
Отправлено: Dolce0109 от 18 Января 2002, 20:43:38
Пишу тут одно мейл приложение - http://www.koulikov.cc (прошу не нервничать, порт.ру разрешение на использования дизайна дало)... так вот, как переводить текст из одной кодировки (KOI в WIN и обратно) я знаю, но вот в чём проблема, а как определить в какой кодировке находится письмо изначально?? И ещё, как определить систему пользователя, а то на *nixe всё в KOI прекрасно видно (почти, кроме мейлов посланных с серверов мирософта) и наоборот... :((
Название: Эх - кодировка
Отправлено: Oak от 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).