| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > Как можно узнать кодировку строки? |
| Автор: PROme 7.3.2005, 18:03 |
| Подскажите, можно ли как-то узнать кодировку строки? Одной и той же переменной присваиваются различные строки в различной кодировке. Можно ли как то узнать, в какой кодмровке идет строка? Собвстенно, в последствии, нужно все приводить к вин-1251 |
| Автор: Mal Hack 7.3.2005, 18:13 |
| Смотреть по ASCII кодам... Может быть и можно как-ть через iconv(); но я в этом сомневаюсь. |
| Автор: PROme 7.3.2005, 18:25 | ||
|
| Автор: Mal Hack 7.3.2005, 18:29 | ||
| Вот вырезка из FAQ http://forum.vingrad.ru/index.php?showtopic=4632
|
| Автор: PROme 7.3.2005, 18:47 |
| Mal Hack спасибо огромное! в принципе, то что нужно а стандартных средств типа $s=perevod_v($s, 'w'); т.е. независимо от того, в какой кодировке $s... я так понял нету? |
| Автор: Mal Hack 7.3.2005, 19:17 | ||
Может быть можно как-ть через результат iconv, но там все равно надо смотреть ASCII. В свое время стандартного решения я так и не нашел.. |
| Автор: PROme 7.3.2005, 19:21 |
| хм... тут еще такая проблемка назрела как быть с utf-8??? convert_cyr_string ее не берет да и в детекте нет ее как ее можно задетектить и перекодировать в вин-1251??? |
| Автор: Mal Hack 7.3.2005, 19:23 | ||
лиюо через iconv либо циклом по строке и также через ASCII символы перекодировать. UTF для win это Р и последующие коды... |
| Автор: PROme 7.3.2005, 19:28 | ||||
Mal Hack
если не сложно.... |
| Автор: Mal Hack 7.3.2005, 19:38 | ||
| Эта из WIN1251 в UTF переводит На выходе получаем АБВ Т.е. мы работаем не с символами, а с их числовыми кадами. Т.е. в win-1251 АБВ - ÀÁÂ, то как они представлены в UTF - смотри выше.
|
| Автор: PROme 7.3.2005, 19:59 |
| не знаю я как это использовать чтобы конвертить наоборот |
| Автор: Mal Hack 7.3.2005, 20:12 | ||||
Взято из мана:
или: Сам делал когда-то
|
| Автор: PROme 7.3.2005, 21:03 |
| Mal Hack ну ман я смотрел, конечно же... НИЧЕГО не работает не знаю, может это из-за того, что там utf-8 с рус. символами...? может такое быть??? спасайте ребята, я в этом не силен |
| Автор: Mal Hack 7.3.2005, 21:13 | ||
Вариант с iconv работает безотказно 100%.
Что касается самописных функций, то они у меня тоже не работали... |
| Автор: PROme 7.3.2005, 21:24 |
| Mal Hack а у меня он это: ЗнакомС?тва преобразовывает в это: ЗнакоРС?ства Добавлено @ 21:26 хото подожди... тут может быть такой вариант что utf-8 может быть насильно передан как вин-1251 (ЗнакомС?тва)... следовательно это уже не utf-8, а какая-то мура еще больше запутался |
| Автор: PROme 7.3.2005, 21:36 |
| Mal Hack спасибо за помощь, кое-как проблему уже решил своими извращениями... но очень плохо так что если вдруг у кого есть совет по этому поводу - велкам |
| Автор: Mal Hack 7.3.2005, 21:45 | ||
Это - не UTF,а просто глюки, поэтому ты и получал на выходе еще большие глюки... Самый реаьный вариант через iconv(); |
| Автор: PROme 7.3.2005, 21:47 | ||
ну это с гугла идет все... |