Исправление кодировки на новых версиях php, для сайтов с cp1251 или koi8-r

Вопросы о том как и что сделать чтобы работало
Правила форума
1. Один вопрос - одна тема. Не надо задавать в той же теме другие вопросы.
2. Не пишите в чужих темах, если ваша проблема не имеет отношения к обсуждаемой.
3. Давайте полное описание проблемы - имя сайта, имя сервера, учётная запись, способ воспроизведения, скриншот ошибки.
4. Пароли выкладывать в форум - НЕ НАДО
Аватара пользователя
lissyara
Site Admin
Сообщения: 5740
Зарегистрирован: 2009-09-19, 22:04:41
Поблагодарили: 6 раз

Исправление кодировки на новых версиях php, для сайтов с cp1251 или koi8-r

Сообщение lissyara » 2016-03-19, 12:41:56

по умолчанию, все версии php новее 5.5 шлют заголовок с типом содержимого text/hml и указанием кодировки - UTF8

соответственно ломается отображение сайтов с иными кодировками, т.к. браузер считает приоритеной кодировку из заголовка, а не прописанную в meta теге страницы.

если возможности перекодировать все страницы, базу и т.п. нет, а самих страниц много и каждая - отдельный файл то можно сделать такой костыль:
1. кладём в директорию с сайтом, или в директорию www (если сайтов много) файлик .htaccess c таким содержимым:

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

# file before all php scripts
php_value auto_prepend_file "/home/ИМЯ-АККАУНТА-НА-СЕРВЕРЕ/data/www/charset.php"

и фалик, по тому пути что в .htaccess указан, в данном случае /home/ИМЯ-АККАУНТА-НА-СЕРВЕРЕ/data/www/charset.php со следующим содержимым

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

<?php

Header('Content-Type: ')

?>


всё. при обработке любых скриптов будет подключаться этот файл и выдаваться пустой заголовок с типом.
что приводит к тому что заголовок вообще не отсылается, а значит будет отображатсья в кодировке указанной в meta теге страницы, как и было в старых версиях php
Убей их всех! Бог потом рассортирует...

Аватара пользователя
ZZIIKKemd
Сообщения: 63
Зарегистрирован: 2013-05-17, 16:30:59
Поблагодарили: 1 раз
Контактная информация:

Исправление кодировки на новых версиях php, для сайтов с cp1251 или koi8-r

Сообщение ZZIIKKemd » 2016-03-19, 13:12:38

Мне еще помогало в .htaccess сайта (или в .htaccess /www, если сайтов много) прописать

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

DefaultLanguage ru
AddDefaultCharset windows-1251
php_value default_charset "cp1251"


Ну и если koi8-r, то ее писать вместо windows-1251 и cp1251.
С уважением, Зыков Андрей.
Сотрудник службы техподдержки.

Аватара пользователя
lissyara
Site Admin
Сообщения: 5740
Зарегистрирован: 2009-09-19, 22:04:41
Поблагодарили: 6 раз

Исправление кодировки на новых версиях php, для сайтов с cp1251 или koi8-r

Сообщение lissyara » 2016-03-20, 16:24:19

мда... а я знатный костыль нарисовал, вместо такого простого решения =)
Убей их всех! Бог потом рассортирует...

WASP
Сообщения: 5
Зарегистрирован: 2016-07-14, 17:51:43

Исправление кодировки на новых версиях php, для сайтов с cp1251 или koi8-r

Сообщение WASP » 2016-07-14, 17:54:03

Сегодня слетела кодировка...
Прописал в .htaccess но все статьи по прежнему в крякозябрах...

Аватара пользователя
lissyara
Site Admin
Сообщения: 5740
Зарегистрирован: 2009-09-19, 22:04:41
Поблагодарили: 6 раз

Исправление кодировки на новых версиях php, для сайтов с cp1251 или koi8-r

Сообщение lissyara » 2016-07-14, 19:51:42

вероятно, предполагается что сайт угадаем телепатическим методом? =)
Убей их всех! Бог потом рассортирует...

WASP
Сообщения: 5
Зарегистрирован: 2016-07-14, 17:51:43

Исправление кодировки на новых версиях php, для сайтов с cp1251 или koi8-r

Сообщение WASP » 2016-07-15, 11:50:14

http://wasp-kz.ru
Сколько раз исправлял кодировки на сайтах, а здесь чего-то не выходит...

Аватара пользователя
lissyara
Site Admin
Сообщения: 5740
Зарегистрирован: 2009-09-19, 22:04:41
Поблагодарили: 6 раз

Исправление кодировки на новых версиях php, для сайтов с cp1251 или koi8-r

Сообщение lissyara » 2016-07-15, 12:47:06

сообщения в базе, как я понимаю.
у вас уже в базу залито в неправильной кодировке.

перезалейте в нормальной, и всё заработает
Убей их всех! Бог потом рассортирует...

WASP
Сообщения: 5
Зарегистрирован: 2016-07-14, 17:51:43

Исправление кодировки на новых версиях php, для сайтов с cp1251 или koi8-r

Сообщение WASP » 2016-07-16, 6:55:58

Все ведь нормально отображалось... А потом - бац... и одни вопросики )))

Аватара пользователя
lissyara
Site Admin
Сообщения: 5740
Зарегистрирован: 2009-09-19, 22:04:41
Поблагодарили: 6 раз

Исправление кодировки на новых версиях php, для сайтов с cp1251 или koi8-r

Сообщение lissyara » 2016-07-16, 13:03:10

нет, такого не может быть
у вас в базе данных вопросики вместо символов. залейте базу в корерктной кодировке и всё зработает
Убей их всех! Бог потом рассортирует...

WASP
Сообщения: 5
Зарегистрирован: 2016-07-14, 17:51:43

Исправление кодировки на новых версиях php, для сайтов с cp1251 или koi8-r

Сообщение WASP » 2016-07-16, 16:51:01

Как не может быть? Вы посмотрите даты публикаций. Если б я размещал статью и она отображалась бы некорректно, а все остальное корректно - вряд ли бы я это не исправил бы.

Именно так - весь сайт отображался нормально. Кодировка сайта UTF-8, и сейчас она же в БД... Исправил в .htaccess на 1251, движок стал отображаться нормально, весь мой контент - нет.

Отправлено спустя 1 минуту 9 секунд:
Этот сайт - не суть важно, важно то, что я планировал перенос других сайтов сюда...

Аватара пользователя
lissyara
Site Admin
Сообщения: 5740
Зарегистрирован: 2009-09-19, 22:04:41
Поблагодарили: 6 раз

Исправление кодировки на новых версиях php, для сайтов с cp1251 или koi8-r

Сообщение lissyara » 2016-07-16, 17:51:45

за 14 число у вас ещё нормальная база, а вот с 15 - уже битая.

вы ничего не делали между этими датами?
Убей их всех! Бог потом рассортирует...

WASP
Сообщения: 5
Зарегистрирован: 2016-07-14, 17:51:43

Исправление кодировки на новых версиях php, для сайтов с cp1251 или koi8-r

Сообщение WASP » 2016-07-17, 9:24:35

О, все заработало - отремонтировали!

-----

Копаться в БД без крайней нужды?.. не... Ну а если надо, то обязательно бэкап.

rust777

Исправление кодировки на новых версиях php, для сайтов с cp1251 или koi8-r

Сообщение rust777 » 2017-10-20, 11:21:53

помогло
но на всех страницах выходят символы (один раз на странице)
п»ї


Вернуться в «Общие технические вопросы по хостингу»

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

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