ФорумПрограммированиеPHP для идиотов → PHP >= 5.3 и дефолтная кодировка

PHP >= 5.3 и дефолтная кодировка

  • uncleem

    Сообщения: 9 Репутация: N Группа: Кто попало

    Spritz 30 сентября 2012 г. 17:03

    Добрый день, господа.
    Всем известно, что с версией php 5.3 нам достался подарочек в виде дефолтной кодировки, например для функции htmlspecialchars - utf-8, и второй бонус - как это часто бывает, отсутствие обратной совместимости. Это, конечно, пиздато, но не особо радует. Имею на борту 5.4.6, собирать из исходников младшую версию просто заебался, да и неизвестно, во что оно выльется после установки в другую директорию, плюнул на это дело. Встал вопрос - как сменить дефолтную кодировку? В php.ini ничего не нашел подобного.
    P.S.: htmlspecialchars("текст", ENT_QUOTES, 'cp1251'); - не предлагать. Хочется стандартный htmlspecialchars("текст");, но чтобы корректно обрабатывал вендовые кодировки.
    P.P.S.: часы гугления тоже почему-то результатов не дали. Неужели это невозможно?
  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz 30 сентября 2012 г. 17:27, спустя 24 минуты 23 секунды

    mb_internal_encoding('windows-1251') ?
  • uncleem

    Сообщения: 9 Репутация: N Группа: Кто попало

    Spritz 30 сентября 2012 г. 17:27, спустя 23 часа 59 минут 40 секунд

    mb_internal_encoding('windows-1251')

    Насколько мне известно это сработает только для функций обработки многобайтовых кодировок (с префиксом mb_ которые). Тут не прокатит.
  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz 30 сентября 2012 г. 17:27, спустя 35 секунд

    как бы да, но попробовать стоит
  • uncleem

    Сообщения: 9 Репутация: N Группа: Кто попало

    Spritz 30 сентября 2012 г. 17:35, спустя 8 минут 2 секунды


    как бы да, но попробовать стоит
    Пробовал еще тогда, как только заметил такой геморрой.
  • uncleem

    Сообщения: 9 Репутация: N Группа: Кто попало

    Spritz 30 сентября 2012 г. 17:52, спустя 16 минут 27 секунд

    Хотел сейчас костыль заюзать в виде apd и override_function, так хуй - не ставится на эту версию пыха. Судьбу не наебешь.
  • AlexB

    Сообщения: 4306 Репутация: N Группа: в ухо

    Spritz 30 сентября 2012 г. 19:24, спустя 1 час 32 минуты 17 секунд

    Еще вот такая херня есть

    http://www.php.net/manual/en/function.runkit-function-redefine.php

    будет ли работать не знаю, не пробовал ..
  • uncleem

    Сообщения: 9 Репутация: N Группа: Кто попало

    Spritz 30 сентября 2012 г. 20:19, спустя 55 минут 23 секунды

    runkit тоже не ставится нихера на пыху версии > 5.2.
  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz 30 сентября 2012 г. 20:26, спустя 6 минут 20 секунд

    ну тогда могу такое сказать - пых не так уж и виноват, как ни крути а:
    1. пора б уже на утф8 перейти
    2. такие низкоуровневые ф-ции типа htmlspecialchars в приложении раза 3, не больше должны встречаться. У View должно быть что-то типа методов наподобие escapeHtml, escapeJs, escapeHtmlAttr. Или даже autoescaping (превед Twig). Или даже context aware autoescaping.
  • uncleem

    Сообщения: 9 Репутация: N Группа: Кто попало

    Spritz 30 сентября 2012 г. 22:59, спустя 2 часа 33 минуты 42 секунды

    Ну так-то да, но есть причины на использование cp1251. Суть не в этом. Главное то, что глубокоуважаемые девелоперы пыха не оставили людям выбора, не сделав возможности смены дефолтной кодировки. Как ни крути - а минус в этом подходе куда жирнее, чем плюс. Это как в убунте - воткнули юнити и аривидерчи, хочешь классического гнома - поебись денек-другой и то не получишь его в чистом виде. Но в данном контексте ебля никак не поможет. Я уже практически нашел способ даунгрейда до 5.2.10 из старых репозиториев, но там нету php5-mcrypt, соответственно, phpmyadmin не поставишь. Геморрой еще тот.
  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz 1 октября 2012 г. 0:51, спустя 1 час 51 минуту 51 секунду

    так в 5.3.* такого вроде нет, это ж с 5.4.*
  • uncleem

    Сообщения: 9 Репутация: N Группа: Кто попало

    Spritz 1 октября 2012 г. 2:02, спустя 1 час 10 минут 59 секунд

    И правда с 5.4. Ебаный стыд, вот это напутал. Под носом же есть 5.3 версия в репах. Топик более не актуален.
  • AlexB

    Сообщения: 4306 Репутация: N Группа: в ухо

    Spritz 1 октября 2012 г. 10:29, спустя 8 часов 26 минут 57 секунд


    так в 5.3.* такого вроде нет, это ж с 5.4.*
    Охуеть, какой ты внимательный …
  • s_s

    Сообщения: 61 Репутация: N Группа: Кто попало

    Spritz 1 октября 2012 г. 10:49, спустя 19 минут 40 секунд

    Блин, за все годы пыхобыдлокодинга ни разу не помню проблем с особенностями версий.
    ан нет, пизжу: split устарел в 5.3 и я однажды словил ворнинг.
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 1 октября 2012 г. 10:58, спустя 9 минут 26 секунд

    сплит гумно
    Сапожник без сапог

Пожалуйста, авторизуйтесь, чтобы написать комментарий!