[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: UTF-8 некоторые символы кириллицы вопросами
LiZ@RD
Здравствуйте, столкнулся с вышеописанной проблемой. Почему-то при работе с utf-8 очень часто получаю некоторые символы в виде знаков вопроса.

Как я заметил, "портить" строки могут регулярные выражения (preg_replace в частности), если в шаблоне указать, например, [а-я], а не [абвгд...я]. Это что, бага в php или кривые руки? Никто с таким не сталкивался? К сожалению примера точного кода, который "портит" сейчас выложить не могу, но если это критично, то попозже сделаю.

php5-5.2.11, ОС Linux, системная локаль тоже utf-8.



Спустя 21 минута, 23 секунды (11.11.2009 - 00:48) twin написал(а):
Знач вот в чем вся проблема. Нет понятия "кодировка файла". Ровно как нет понятия "кодировка страницы(потока и т.д)" Есть понятие - кодировка символов. Вот как они закодированы, вернее в какой кодировке заданы, так скрипт их и читает.

А сервер передаст то, что ему дали. Если текст в файле в чём попало, странно ждать, что из этого выйдет что нужно.
Так же и с базой.
Надо все кодировки символов привести в порядок.

Спустя 1 минута, 17 секунд (11.11.2009 - 00:50) kirik написал(а):
Для работы с юникодом регуляркам нужно сначала сообщить что это будет юникод посредством u модификатора. А так же в паттерне следует указывать букву "ё".

$str = 'тут here был was ёж';
echo preg_replace('/[а-яё]/iu', '', $str);

Спустя 10 минут, 55 секунд (11.11.2009 - 01:01) twin написал(а):
kirik не факт... если не mb_ то не поможет модификатор. Вернее не везде. strtollover() и так далее...
В порядок все равно привести надыть))

Спустя 25 минут, 51 секунда (11.11.2009 - 01:27) kirik написал(а):
twin
ну да, эт я случай с регуляркой описал (у ТС приведен пример).
А вообще давно пора статейку по работе с юникодом забабахать...

Спустя 9 часов, 25 минут, 35 секунд (11.11.2009 - 10:52) LiZ@RD написал(а):
twin
Это не тот случай. К примеру, через форму передаётся слово "объявлен", вывожу с помощью echo - всё нормально, вывожу после обработки регуляркой - твёрдый знак меняется на знак вопроса.

kirik
Спасибо, скоро проверю.


_____________
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.