- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Всем спасибо за советы, особенно Mad_Man за доп инфу - благодаря вам понял в чем все таки проблема, но оказалось все на много проще.
mb_convert_encoding(); к GET переменной и все заработало как нужно.
mb_convert_encoding(); к GET переменной и все заработало как нужно.
Что заработало как нужно, substr строки по байтам? А дальше что делать с символами которые не соответствуют этой кодировки? Вам же сказали используйте mb_substr для многобайтовых кодировок.
Что заработало как нужно, substr строки по байтам? А дальше что делать с символами которые не соответствуют этой кодировки? Вам же сказали используйте mb_substr для многобайтовых кодировок.
substr как раз работала, а вот str_replace нет
о_о
человечество обречено.
substr как раз работала, а вот str_replace нет
Вы так и не поняли что работало а что нет. substr режет символы по байтам - в cp1251 один символ соответствует одному байту. В utf8 кириллица занимает два байта, а субстром вы режете только один байт (отсюда и квадратики - символ не полный). Поэтому, ни substr здесь нормально работать не будет, ни str_replace который будет заменять только один байт. Для этого есть mb_substr, который получает символы учитывая кодировку. Вы перекодировали строку, получили однобайтовые символы в кодировке cp1251 а дальше что с ними делать если в заменяемой строки данные в utf-8? Либо у вас заменяемая строка в cp1251 а получаете вы utf8 только из GET параметра. Вам нужно определится с кодировками, судя по всему у вас бардак.