UTF-8 vs PHP5

И всё прочее, что касается HTML
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

UTF-8 vs PHP5

Непрочитанное сообщение zg » 2009-06-26 5:25:25

Код: Выделить всё

<?

setlocale(LC_ALL, 'ru_RU.UTF-8');

var_dump(preg_match('/^[а-я]+$/i', 'Привет'));

?>
int(0)
:( Это у всех так с UTF8? или только у меня?

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: UTF-8 vs PHP5

Непрочитанное сообщение zg » 2009-06-26 6:30:01

http://ru2.php.net/manual/ru/reference. ... ifiers.php

Код: Выделить всё

 u (PCRE_UTF8)
    Этот модификатор включает дополнительную функциональность PCRE, которая не совместима с Perl: шаблоны обрабатываются как UTF8 строки. Модификатор u доступен в PHP 4.1.0 и выше для Unix-платформ, и в PHP 4.2.3 и выше для Windows платформ. Валидность UTF8 в шаблоне проверяется начиная с PHP 4.3.5. 

Аватара пользователя
thefree
лейтенант
Сообщения: 980
Зарегистрирован: 2008-12-29 9:23:19
Откуда: Весёлая Страна

Re: UTF-8 vs PHP5

Непрочитанное сообщение thefree » 2009-06-26 8:01:04

про перл нагнали, он и так шаблон обрабатывает как utf8
Не судите меня строго, Я не волшебник, а только учусь!
http://planetbsd.ru - RSS-агрегатор *BSD по Рунету

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: UTF-8 vs PHP5

Непрочитанное сообщение zg » 2009-06-26 11:02:16

щас другая проблема

Код: Выделить всё

<?

setlocale(LC_ALL, 'ru_RU.UTF-8');

var_dump(preg_match('/^[а-я]+$/ui', 'Привет'));
var_dump(preg_match('/^\w+$/ui'   , 'Привет'));

?>
int(1)
int(0)
:(

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: UTF-8 vs PHP5

Непрочитанное сообщение zg » 2009-06-26 22:18:00

собрал шестой пых... таже хрень

Аватара пользователя
thefree
лейтенант
Сообщения: 980
Зарегистрирован: 2008-12-29 9:23:19
Откуда: Весёлая Страна

Re: UTF-8 vs PHP5

Непрочитанное сообщение thefree » 2009-06-28 1:44:11

Не судите меня строго, Я не волшебник, а только учусь!
http://planetbsd.ru - RSS-агрегатор *BSD по Рунету

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: UTF-8 vs PHP5

Непрочитанное сообщение zg » 2009-06-28 6:36:55

thefree писал(а):может поможет http://forum.ixbt.com/topic.cgi?id=24:40663
не не не, про это я знаю и писал выше. Мне другое интересно — почему множество \w не работает с UTF-8, причём ни в какую.

Аватара пользователя
ADRE
майор
Сообщения: 2641
Зарегистрирован: 2007-07-26 8:53:49
Контактная информация:

Re: UTF-8 vs PHP5

Непрочитанное сообщение ADRE » 2009-06-28 11:58:21

некоторые функции в чем-то другом работаю анси -/, у меня некоторые функции отробатывают в 1252, нектороые в кои8.....
и также с модификаторами, тянутся от куда-то со странной кодировкой и не срабатывают, надо сиситему в целом на utf-8 перетягивать
//del

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: UTF-8 vs PHP5

Непрочитанное сообщение zg » 2009-06-28 13:20:43

ADRE писал(а):надо сиситему в целом на utf-8 перетягивать
какую систему?

Аватара пользователя
ADRE
майор
Сообщения: 2641
Зарегистрирован: 2007-07-26 8:53:49
Контактная информация:

Re: UTF-8 vs PHP5

Непрочитанное сообщение ADRE » 2009-06-29 14:22:20

да для работы чтоб все едино было, php, локаль бсд, а то проблеммы с русккими букавками =( ну и естественно бд всякие, наоролси =/ папки при создании из пхп каракули.... да и собственно обработка входных файлов на скачивание, англицкий нормально, русский - каракули koi8-r ))), а если чисто для сайта, то достаточно пхп->UTF, И сами файлы _>utf и всё
//del

Аватара пользователя
ADRE
майор
Сообщения: 2641
Зарегистрирован: 2007-07-26 8:53:49
Контактная информация:

Re: UTF-8 vs PHP5

Непрочитанное сообщение ADRE » 2009-06-29 14:23:36

в php.ini найди строчку default_charset и приравняй её к utf8 усе должно конкретно пахать
//del

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: UTF-8 vs PHP5

Непрочитанное сообщение zg » 2009-06-29 14:57:20

ADRE писал(а):в php.ini найди строчку default_charset и приравняй её к utf8 усе должно конкретно пахать
http://ru2.php.net/manual/ru/ini.core.p ... lt-charset

Код: Выделить всё

default_charset string 

Начиная с версии 4.0b4, PHP всегда отправляет кодировку по умолчанию в заголовке Content-Type. Чтобы отключить отправку кодировки, просто установите её пустой строкой.
и как это должно помочь? :unknown:

Аватара пользователя
ADRE
майор
Сообщения: 2641
Зарегистрирован: 2007-07-26 8:53:49
Контактная информация:

Re: UTF-8 vs PHP5

Непрочитанное сообщение ADRE » 2009-06-30 9:09:35

очень просто - это есть опора обработки функций, если ты зальешь в переменную которая работает с ISO-8859 допустим utf или cp1251, ТО она будет обрабатываться от кодировки которая вставлена в ини файле, сам заметил глюк, что от локали не все функции отрабатывают от той кодировки которая проставлена... т.е. функция будет интерпретировать \w как принадлежищию к символам из кодировки которая установлена в ini файле....

особенно разница видна если работать, допустим, на бсд под кои8-р, файлы в формате cp1251 + обработка через пхп на utf-8, если не создавать папок на системе (предварительно не засунув выходные данные, допустим в иконв, либо еще как) русские символы трансформируются как угодно, если даже входные в пхп данные предварительно конвертнуть в нужную кодировку, то после обработки переменных, кодировка превратится в кодировку указанную либо в локале либо в дефаулт_чарсет, не все функции корректно работают с локлью т.к. подразумевается что идет англицкий язык, а с ним намного меньше проблемм.... а то что высылается в браузер - это другое.... сам напаролся когда после str функции пхп у меня весь utf измененный iconv мутировал и не отрабатывало как надо...

вообще посмотри как пролемму с utf-8 грамотно решили в wordpress, там как-то все просто было.... причем расписано помоему в конфигурационном файлу в папке админовской
//del

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: UTF-8 vs PHP5

Непрочитанное сообщение zg » 2009-06-30 10:51:58

ADRE писал(а):особенно разница видна если работать, допустим, на бсд под кои8-р, файлы в формате cp1251 + обработка через пхп на utf-8
чего?... :shock:
ADRE писал(а):не все функции корректно работают с локлью т.к. подразумевается что идет англицкий язык, а с ним намного меньше проблемм....
нет, просто есть функции, которые поддерживают локаль, а есть те, которые её не поддерживают. Функции preg_ поддерживают локаль, как и str. Это оговаривается отдельно. Например функция date не держит локаль, а функция strftime держит, хотя обе они являются функциями даты и времени.
ADRE писал(а):а то что высылается в браузер - это другое
то есть ты хочешь сказать, что default_charset отвечает за ещё что-то недокументированное?

собственно, как и следовало ожидать :bn:

Код: Выделить всё

<?

setlocale(LC_ALL, 'UTF-8', 'ru_RU.UTF-8');

var_dump( ini_get('default_charset') );;

var_dump(preg_match('/^[а-я]+$/ui', 'Привет'));
var_dump(preg_match('/^\w+$/ui'   , 'Привет'));


?>
string(5) "UTF-8"
int(1)
int(0)

Аватара пользователя
ADRE
майор
Сообщения: 2641
Зарегистрирован: 2007-07-26 8:53:49
Контактная информация:

Re: UTF-8 vs PHP5

Непрочитанное сообщение ADRE » 2009-07-01 2:58:37

он посылает в шапку! =) я имел ввиду к этому еще привязан функционал
//del

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: UTF-8 vs PHP5

Непрочитанное сообщение zg » 2009-07-01 5:11:00

ADRE писал(а):он посылает в шапку! =) я имел ввиду к этому еще привязан функционал
:smile: www — это клиент-серверная технология. Фукции preg_ работают криво на сервере, а default_charset нужна только для клиента.

Аватара пользователя
ADRE
майор
Сообщения: 2641
Зарегистрирован: 2007-07-26 8:53:49
Контактная информация:

Re: UTF-8 vs PHP5

Непрочитанное сообщение ADRE » 2009-07-08 6:32:24

да забей у меня короче преги так обрабатываются и незнаю почему )
//del