| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Тексты > После отработки substr появляется символ � |
| Автор: psworld 14.7.2010, 11:11 | ||
Кодировка UTF-8, после подключения к БД выполняется:
Получаю данные из БД, далее на php ищу позицию входа некоторой подстроки, вычитаю из этой позиции 1 и обрезаю с помощью substr по данной метке. Иногда в конце обрезанной строки появляется символ �. Если вычитать 2, то пропадает, но появляется для других строк. Как побороть? |
| Автор: ksnk 14.7.2010, 11:22 |
использовать функции mb_* вместо строковых ? Для utf-8 должно помочь |
| Автор: skyboy 14.7.2010, 11:26 |
| используй mb_substr Добавлено через 1 минуту и 59 секунд упс, слишком долго отправлял utf-8 - кодировка, в которой один символ может кодироваться одним байтом(латиница, цифры) или больше(для кирилицы уже два байта используются). а substr "режет" не по символам, а по байтам. и у тебя остается только половина полного кода символа. |
| Автор: smartov 14.7.2010, 12:14 |
| Если не установлено расширение mb можно воспользоваться preg_ фугкциями. Они тоже умеют работать с utf8 |
| Автор: skyboy 14.7.2010, 22:19 |
давай, для начала, ты приведешь код, который при помощи preg_replace обрезает строку, скажем, только на латинице. |
| Автор: smartov 15.7.2010, 09:54 | ||||
Деньги переводите на счет голодных детей Уганды |
| Автор: psworld 15.7.2010, 11:26 |
| Спасибо всем за активность в теме, я пока в процессе экспериментов с различными вариантами |