| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > строка как массив |
| Автор: part_spb 3.6.2009, 20:23 |
| есть переменная в котрой содержится некоторое словj (в кодировке utf ) при обращении к отдельным буквам слова как к элементам массива, возникают проблемы. к примеру $var="привет" при echo $var[2] должна выводится буква и , но этого не происходит. понимаю что это все из за utf-8, так как там используется 2 байта. может есть подобное решение для UTF? |
| Автор: enof 3.6.2009, 20:26 |
| http://php.net/str_split В соседней теме тоже самое. |
| Автор: part_spb 3.6.2009, 23:49 |
| нет функция str_split не правильно работает с utf-8 , если есть кирилица. |
| Автор: mogul82 4.6.2009, 01:51 |
В utf-8 используется 8 бит, ASCII 7 бит. а в Юникоде (utf-16) 16 бит. Эт я так. |
| Автор: enof 4.6.2009, 05:48 | ||
part_spb, для этого случая есть mb_* функции.
Спасибо, не знал. |
| Автор: mogul82 4.6.2009, 12:19 |
| unicross, Ты где ерунды такой начитался? Мож они и превращаються но храняться так как я сказал. |
| Автор: unicross 4.6.2009, 12:34 |
http://ru.wikipedia.org/wiki/UTF-8 Если бы символы русского алфавита кодировались всего 8 битами, то хватило бы функции str_split(), а также можно было бы обратиться в символу как к элементу массива... |
| Автор: part_spb 4.6.2009, 12:34 |
| да, спасибо всем проблема частиччно решилась mogul82 , unicross все правильно говорит при использовании кририлицы в UTF-8 используется два байта, но не как не 8бит (1байт) |