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