Кодировка строк...

Fuz

Новичок
Кодировка строк...

Есть файл, строки в котором имеют либо кодировку koi8-r либо win1251. Задача перекодировать всё в win1251. Проблема в том, что при использовании
convert_cyr_string($t, 'k','w') - строки koi8-r перекодируются нормально, но бьются строки, которые изначально были в виндовой кодировке...Вопрос бы решился если бы можно было определить кодировку строки...как это сделать?)
 

kamatoz

Новичок
в случае вин и кои 2 простых варианта:
самый простой - смотрим по количеству прописных и строчных букв (только, если где-то строка с капслоком была написана, будет облом).
посложнее - по количеству более часто встречающихся букв (гугли по этому поводу). Если строка будет короткая, снова будет облом...
 

Fuz

Новичок
не.не катит. потому как юзеры очень часто вбивают фамилии капс-локом. неужели ф-ии нету специальной?
 

hermit_refined

Отшельник
Fuz
Эти данные вы получаете от пользователя с формы на своём сайте? Тогда зачем её гаданием определять? Если это сумасшедший браузер - либо смотрите на заголовки, либо посылайте самому себе дополнительно какую-нибудь букву, и по ней определяйте исходную кодировку.
 

Fuz

Новичок
hermit_refined
от пользователя в форме они приходят нормально в вин кодировке, но мне приходится входящие смс сообщения обрабатывать, которые приходят в кои8р и складываются в тот же файл.
 

hermit_refined

Отшельник
Fuz
Ну а почему бы вам не класть их в другой файл, или помечать как-то? Зачем самому себе создавать проблемы?
 
Сверху