Спустя 5 минут, 27 секунд (15.10.2010 - 13:06) arvitaly написал(а):
Юзайте библиотеку multybyte. http://php.net/manual/en/book.mbstring.php
Спустя 48 минут, 48 секунд (15.10.2010 - 13:55) fredrsf написал(а):
Цитата (arvitaly @ 15.10.2010 - 10:06) |
Юзайте библиотеку multybyte. http://php.net/manual/en/book.mbstring.php |
Ээээ... Ок, спасибо. А можно ли узнать почему так??? И возможно обойтись ли без этой библиотеки???
Спустя 11 минут, 11 секунд (15.10.2010 - 14:06) linker написал(а):
Стандартные функции работы со строками не имеют понятия об UTF-8, в которой один символ может занимать два байта. Поэтому и длинна получается в два раза больше, т.к. например strlen() считает количество байт занимаемых строкой и не учитывает, что это может быть UTF-8.
Спустя 22 минуты, 15 секунд (15.10.2010 - 14:29) fredrsf написал(а):
Цитата (linker @ 15.10.2010 - 11:06) |
Стандартные функции работы со строками не имеют понятия об UTF-8, в которой один символ может занимать два байта. Поэтому и длинна получается в два раза больше, т.к. например strlen() считает количество байт занимаемых строкой и не учитывает, что это может быть UTF-8. |
Понял, спасибо большое!!!
Спустя 5 дней, 19 часов, 39 минут, 8 секунд (21.10.2010 - 10:08) fredrsf написал(а):
Товарищи, новая проблема... Значит стоит Drupal в нем кодировка UTF-8. Теперь, когда я средствами пхп делаю вывод файлов на странице, файлы с русской кодировкой( Windows-1251) выводятся с кракозябрами, если в браузере поменять на виндовскую, то русские смотрятся норм, а вот все остальное кракозябрами. Так же если средствами пхп создать папку, то на странице ее имя выводится в UTF-8 и все в порядке, но через винду когда смотришь на имя там кракозябры. Я так понимаю, надо играться с вышесказанной библиотекой. Но что-то пока тяжело мне((( Как можно сделать, чтобы пхп при отображении выбирал нужную кодировку???? То есть как решить такую проблему?((( Большое спасибо!
Спустя 3 минуты, 24 секунды (21.10.2010 - 10:11) Michael написал(а):
Цитата (fredrsf @ 21.10.2010 - 09:08) |
Товарищи, новая проблема... Значит стоит Drupal в нем кодировка UTF-8. Теперь, когда я средствами пхп делаю вывод файлов на странице, файлы с русской кодировкой( Windows-1251) выводятся с кракозябрами, |
надо перекодировать:
echo iconv('windows-1251', 'utf-8', $file);
Спустя 1 минута, 46 секунд (21.10.2010 - 10:13) twin написал(а):
PHP не выбирает никаких кодировок. Какую пропишешь, такая и будет. По этому никаких файлов
Цитата |
с русской кодировкой( Windows-1251) |
быть не должно и в помине.
Спустя 8 минут, 35 секунд (21.10.2010 - 10:22) fredrsf написал(а):
Цитата (twin @ 21.10.2010 - 07:13) | ||
PHP не выбирает никаких кодировок. Какую пропишешь, такая и будет. По этому никаких файлов
быть не должно и в помине. |
Что быть не должно, не понял?
Спустя 1 минута, 23 секунды (21.10.2010 - 10:23) Michael написал(а):
он говорит о том, чтобы твои файлы хранить в utf-8 кодировке. Эти файлы - с какими то данными?
Спустя 13 минут, 2 секунды (21.10.2010 - 10:36) fredrsf написал(а):
Цитата (Michael @ 21.10.2010 - 07:23) |
он говорит о том, чтобы твои файлы хранить в utf-8 кодировке. Эти файлы - с какими то данными? |
Да самые обычные файлики. Тут речь о их именах. Когда я использую в пхп mkdir, то потом в браузере ее название нормально отображается. А когда копирую папку с русским названием с винды на сервер, то при просмотре в браузере она кракозябрами, меняю в браузере кодировку на win1251 имя папки нормально, сайт соответственно нет. С файлами такая же ситуация.
Спустя 6 минут, 53 секунды (21.10.2010 - 10:43) Michael написал(а):
Вот обязательно вам надо в имена папок/файлов кириллицу пихать. Давно же известно - из-за этого странные глюки.
По ситуации(если изменить нельзя):
значит реши для себя - как будешь создавать файлы/папки.
1)Если через php, то будет utf-8. Тогда не копируй с винды такие файлы/папки.
2)Если важно копировать то создавая на php перекодируй в win-1251 (функцией iconv), а при выводе в док-т - обратно перекодируй.
По ситуации(если изменить нельзя):
значит реши для себя - как будешь создавать файлы/папки.
1)Если через php, то будет utf-8. Тогда не копируй с винды такие файлы/папки.
2)Если важно копировать то создавая на php перекодируй в win-1251 (функцией iconv), а при выводе в док-т - обратно перекодируй.
_____________
Фриланс-студия webthrust. Создание, поддержка и продвижение сайтов.