Gentoo: PHP и кириллица Windows-1251 [РЕШЕНО]

Установка, обновление, настройка Linux

Модераторы: Olej, adminn

Voland
Интересующийся
Сообщения: 4
Зарегистрирован: 31 окт 2012, 16:03
Контактная информация:

Gentoo: PHP и кириллица Windows-1251 [РЕШЕНО]

Непрочитанное сообщение Voland » 31 окт 2012, 16:10

Доброго времени суток!
Я уже задавал вопрос в одном месте. но ответа никак не дождусь. Привожу свое же сообщение:

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

На свежесобранной системе столкнулся с такой проблемой. Есть два сайта. Один работает в кодировке UTF-8, другой в Windows-1251. На дедике оба сайта работают прекрасно. А на компе тот сайт, который в Windows-1251, глючит. PHP не видит русских символов в кодировках, отличных от UTF-8. Данные через GET и POST передаются, но, стоит переменную пропустить через какую-то функцию (например, через htmlspecialchars), текст исчезает. С латиницей все в порядке, а с кириллицей такая беда. На старой генте таких глюков нет, потому, я думаю, что-то не включено в поддержку PHP или в саму ОС. Но что? Я первый раз такое вижу.
Какие есть предположения?
Ну, вот, в общем, сама проблема. Все работает без глюков, в т. ч. phpmyadmin, ибо там UTF-8. Что нужно системе?
Последний раз редактировалось Voland 31 окт 2012, 17:56, всего редактировалось 1 раз.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Gentoo: PHP и кириллица Windows-1251

Непрочитанное сообщение Olej » 31 окт 2012, 17:16

Voland писал(а):

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

На свежесобранной системе столкнулся с такой проблемой. Есть два сайта. Один работает в кодировке UTF-8, другой в Windows-1251. На дедике оба сайта работают прекрасно. А на компе тот сайт, который в Windows-1251, глючит. PHP не видит русских символов в кодировках, отличных от UTF-8. Данные через GET и POST передаются, но, стоит переменную пропустить через какую-то функцию (например, через htmlspecialchars), текст исчезает. С латиницей все в порядке, а с кириллицей такая беда. На старой генте таких глюков нет, потому, я думаю, что-то не включено в поддержку PHP или в саму ОС. Но что? Я первый раз такое вижу.
Какие есть предположения?
Ну, вот, в общем, сама проблема. Все работает без глюков, в т. ч. phpmyadmin, ибо там UTF-8. Что нужно системе?
Я не сильно могу вам помочь, потому как не часто работаю с этими инструментами...
Но из общих соображений можно попробовать понять (?).
Есть два сайта. Один работает в кодировке UTF-8, другой в Windows-1251.
Это внешние сайты, URL к которым вы подключаетесь? это не ваши внутренние сайты?
На дедике оба сайта работают прекрасно.
Кто такой дедик?
Данные через GET и POST передаются, но, стоит переменную пропустить через какую-то функцию (например, через htmlspecialchars), текст исчезает.
Ну, наверное, не "через какую-то функцию"(с), а именно htmlspecialchars, а символы CP-1251 в Unicode как-раз и будут "спец"...
На старой генте таких глюков нет,
Что такое "старая"(с), "новая"(с)? какое ядро? какое примерно время выпуска?
Может как-раз "глюки"(с) и наблюдались в старой, а не новой? :lol:

Voland
Интересующийся
Сообщения: 4
Зарегистрирован: 31 окт 2012, 16:03
Контактная информация:

Re: Gentoo: PHP и кириллица Windows-1251

Непрочитанное сообщение Voland » 31 окт 2012, 17:53

Спасибо за то, что хотели помочь!
Это внешние сайты, URL к которым вы подключаетесь? это не ваши внутренние сайты?
Два внешних сайта на дедике и их точные копии на компе. На дедике оба сайта работали прекрасно, а на компе один не работал.
Кто такой дедик?
Dedicated server - выделенный сервер. Арендую я сервачок.
Ну, наверное, не "через какую-то функцию"(с), а именно htmlspecialchars, а символы CP-1251 в Unicode как-раз и будут "спец"...
Да, да, вы правы, именно через эту функцию. Но, видите. в чем дело. htmlspecialchars не вырезает ничего, она преобразует.
Ну, например

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

& в &
< в <
А в моем случае эта функция просто сжирала строку, возвращая пустоту. Да, base64_encode тоже возвращало нечто ужасное, вовсе не похожее на base64, но функция base64_decode успешно дешифровала эту белиберду.
Что такое "старая"(с), "новая"(с)? какое ядро? какое примерно время выпуска?
Может как-раз "глюки"(с) и наблюдались в старой, а не новой?

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

Старая Gentoo: Linux-3.3.8 x86 (все работает)
CentOS на сервере: Linux-2.6.32-279 x86_64 (все работает)
Новая Gentoo:  Linux-3.5.7 x86_64 ([b]уже[/b] все работает)
Просто я переходил с 32-х на 64-х битную архитектуру.

В общем, на "старой" Gentoo стоит PHP5.3.15, и на внешнем сервере стоит PHP5.3.3. В вот на новой, свежесобранной системе я поставил PHP5.4.(сколько-то там). В общем, я откатился на PHP 5.3.15 и все заработало.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Gentoo: PHP и кириллица Windows-1251 [РЕШЕНО]

Непрочитанное сообщение Olej » 31 окт 2012, 18:01

Voland писал(а):В общем, на "старой" Gentoo стоит PHP5.3.15, и на внешнем сервере стоит PHP5.3.3. В вот на новой, свежесобранной системе я поставил PHP5.4.(сколько-то там). В общем, я откатился на PHP 5.3.15 и все заработало.
А что вас "попёрло" (если не секрет - любопытно стало) подымать HTTP сервер на Gentoo?
Вот у людей - CentOS: добросовестный коммуникационный сервер ... или RedHat ...

См. Практические применения Linux - может вы сможете что-то дополнить или возразить?

Voland писал(а):В общем, на "старой" Gentoo стоит PHP5.3.15, и на внешнем сервере стоит PHP5.3.3. В вот на новой, свежесобранной системе я поставил PHP5.4.(сколько-то там). В общем, я откатился на PHP 5.3.15 и все заработало.
Но тогда хорошо бы представлять что будет всех ожидать вскорости при повсеместном переходе на 5.4.х

Voland
Интересующийся
Сообщения: 4
Зарегистрирован: 31 окт 2012, 16:03
Контактная информация:

Re: Gentoo: PHP и кириллица Windows-1251 [РЕШЕНО]

Непрочитанное сообщение Voland » 31 окт 2012, 18:31

А что вас "попёрло" (если не секрет - любопытно стало) подымать HTTP сервер на Gentoo?
Вот у людей - CentOS: добросовестный коммуникационный сервер ... или RedHat ...
Так на сервере у меня и стоит CentOS, а на домашней машине Gentoo. Привык я к Gentoo и менять не хочу.
Но тогда хорошо бы представлять что будет всех ожидать вскорости при повсеместном переходе на 5.4.х
Хорошо бы. Лично я попробую написать какой-нибудь скрипт под PHP5.4.* и посмотреть, как там будет работать все с кодировками. Но в ближайшее время обновляться до 5.4.* не буду.

Voland
Интересующийся
Сообщения: 4
Зарегистрирован: 31 окт 2012, 16:03
Контактная информация:

Re: Gentoo: PHP и кириллица Windows-1251 [РЕШЕНО]

Непрочитанное сообщение Voland » 31 окт 2012, 18:37

Olej писал(а):См. Практические применения Linux - может вы сможете что-то дополнить или возразить?
Возможно, позже дополню :)

Ответить

Вернуться в «Администрирование Linux»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 9 гостей