Перейти к публикации

Кодировка страницы с сообщением о бане


Рекомендованные сообщения

Если пользователь забанен, то при входе на сайт под своим логином он видит сообщение в неправильной кодировке, вместо букв - вопросы.

Как исправить?

лада.онлайн

Ссылка на сообщение
Поделиться на других сайтах

проверяйте файл /templates/banned.tpl на предмет совпадения кодировки файла с мета тегом

<meta content="text/html; charset=windows-1251" http-equiv=Content-Type>

 

Ссылка на сообщение
Поделиться на других сайтах

не нашел в архиве такого шаблона

создал сам, пробовал прописать как вы указали, а также

<meta content="text/html; charset=utf-8" http-equiv=Content-Type>

результат не изменился


<html>
<head>
<meta content="text/html; charset=windows-1251" http-equiv=Content-Type>
<style>
body{ 
	font-family: Verdana, Tahoma, Arial, Trebuchet MS, Sans-Serif, Georgia, Courier, Times New Roman, Serif;
	font-size: 11px;
	margin: 0;
	padding: 0; /* required for Opera to have 0 margin */
}
.errorwrap {
	background: #F2DDDD;
	border: 1px solid #992A2A;
	border-top: 0;
	margin: 5px;
	padding: 0;
}


.errorwrap h4 {
	background: #E3C0C0;
	border: 1px solid #992A2A;
	border-left: 0;
	border-right: 0;
	color: #992A2A; 
	font-size: 12px;
	font-weight: bold; 
	margin: 0;
	padding: 5px;
}

.errorwrap p {
	background: transparent;
	border: 0;
	color: #992A2A;
	margin: 0;
	padding: 8px;
	font-size: 11px;
}
</style>
<title>������� ������������</title>
</head>
<body>
<br /><br /><br /><br /><br /><br /><br /><br /><br />
<table border="0" width="600" cellspacing="0" cellpadding="0" align="center">
<tr>
<td width="100%">
<div class="errorwrap">
<h4>��� ������� �� ����� ������������:</h4>
<p>���� ������� ������ �� ����� ���� ������������� ���������������. ��� ���� ���� ������� ��������� �������:</p>
<p>������� ��� �������</p>
<p>���� ��������� ����������: 20 ��� 2017 10:05</p>
<p>��� ��������� �������������� ������� ���������� � �� ��� �� ��������� ������ ������ ��� ��� ��������� ��� �����������.</p>
</div>
</td>
</tr>
</table>

</body>
</html>

 

Ссылка на сообщение
Поделиться на других сайтах

этот файл находится в папке templates в корне, а не в папке с шаблоном

 

Изменено пользователем alex32
Ссылка на сообщение
Поделиться на других сайтах

нашел файл, поменял кодировку, все равно не помогает


<html>
<head>
<meta charset="utf-8">

<style>
body{ 
	font-family: Verdana, Tahoma, Arial, Trebuchet MS, Sans-Serif, Georgia, Courier, Times New Roman, Serif;
	font-size: 11px;
	margin: 0;
	padding: 0; /* required for Opera to have 0 margin */
}
.errorwrap {
	background: #F2DDDD;
	border: 1px solid #992A2A;
	border-top: 0;
	margin: 5px;
	padding: 0;
}


.errorwrap h4 {
	background: #E3C0C0;
	border: 1px solid #992A2A;
	border-left: 0;
	border-right: 0;
	color: #992A2A; 
	font-size: 12px;
	font-weight: bold; 
	margin: 0;
	padding: 5px;
}

.errorwrap p {
	background: transparent;
	border: 0;
	color: #992A2A;
	margin: 0;
	padding: 8px;
	font-size: 11px;
}
</style>
<title>������� ������������</title>
</head>
<body>
<br /><br /><br /><br /><br /><br /><br /><br /><br />
<table border="0" width="600" cellspacing="0" cellpadding="0" align="center">
<tr>
<td width="100%">
<div class="errorwrap">
<h4>��� ������� �� ����� ������������:</h4>
<p>���� ������� ������ �� ����� ���� ������������� ���������������. ��� ���� ���� ������� ��������� �������:</p>
<p>������� ��� �������</p>
<p>���� ��������� ����������: 20 ��� 2017 10:05</p>
<p>��� ��������� �������������� ������� ���������� � �� ��� �� ��������� ������ ������ ��� ��� ��������� ��� �����������.</p>
</div>
</td>
</tr>
</table>

</body>
</html>

и вот


<html>
<head>
<meta charset="windows-1251">

<style>
body{ 
	font-family: Verdana, Tahoma, Arial, Trebuchet MS, Sans-Serif, Georgia, Courier, Times New Roman, Serif;
	font-size: 11px;
	margin: 0;
	padding: 0; /* required for Opera to have 0 margin */
}
.errorwrap {
	background: #F2DDDD;
	border: 1px solid #992A2A;
	border-top: 0;
	margin: 5px;
	padding: 0;
}


.errorwrap h4 {
	background: #E3C0C0;
	border: 1px solid #992A2A;
	border-left: 0;
	border-right: 0;
	color: #992A2A; 
	font-size: 12px;
	font-weight: bold; 
	margin: 0;
	padding: 5px;
}

.errorwrap p {
	background: transparent;
	border: 0;
	color: #992A2A;
	margin: 0;
	padding: 8px;
	font-size: 11px;
}
</style>
<title>������� ������������</title>
</head>
<body>
<br /><br /><br /><br /><br /><br /><br /><br /><br />
<table border="0" width="600" cellspacing="0" cellpadding="0" align="center">
<tr>
<td width="100%">
<div class="errorwrap">
<h4>��� ������� �� ����� ������������:</h4>
<p>���� ������� ������ �� ����� ���� ������������� ���������������. ��� ���� ���� ������� ��������� �������:</p>
<p>������� ��� �������</p>
<p>���� ��������� ����������: 20 ��� 2017 10:05</p>
<p>��� ��������� �������������� ������� ���������� � �� ��� �� ��������� ������ ������ ��� ��� ��������� ��� �����������.</p>
</div>
</td>
</tr>
</table>

</body>
</html>

 

Ссылка на сообщение
Поделиться на других сайтах
42 минуты назад, NlCKRUS сказал:

нашел файл, поменял кодировку, все равно не помогает

Это очень странно, так как сообщение о бане хранится только там. Проверяйте тогда, правильно ли отдаёт заголовки Ваш сервер, раз файл соответствует заявленной  в html разметке кодировке.

Ссылка на сообщение
Поделиться на других сайтах

А что значит менял кодировку? Поменял <meta charset="utf-8"> на <meta charset="windows-1251"> что ли?
 

Ссылка на сообщение
Поделиться на других сайтах
21 минуту назад, alex32 сказал:

А что значит менял кодировку? Поменял <meta charset="utf-8"> на <meta charset="windows-1251"> что ли?
 

да, а как надо?

Ссылка на сообщение
Поделиться на других сайтах
4 минуты назад, NlCKRUS сказал:

да, а как надо?

Перекодировать сам файл в нужную кодировку. Кодировка это не только надпись, но и формат самого файла.

Ссылка на сообщение
Поделиться на других сайтах
1 час назад, celsoft сказал:

Перекодировать сам файл в нужную кодировку. Кодировка это не только надпись, но и формат самого файла.

по умолч файл в 1251 кодировке, если я его в utf-8 делаю, то становится все хорошо, кроме сообщения о причине бана


<html>
<head>
<meta content="text/html; charset=windows-1251" http-equiv=Content-Type>
<style>
body{ 
	font-family: Verdana, Tahoma, Arial, Trebuchet MS, Sans-Serif, Georgia, Courier, Times New Roman, Serif;
	font-size: 11px;
	margin: 0;
	padding: 0; /* required for Opera to have 0 margin */
}
.errorwrap {
	background: #F2DDDD;
	border: 1px solid #992A2A;
	border-top: 0;
	margin: 5px;
	padding: 0;
}


.errorwrap h4 {
	background: #E3C0C0;
	border: 1px solid #992A2A;
	border-left: 0;
	border-right: 0;
	color: #992A2A; 
	font-size: 12px;
	font-weight: bold; 
	margin: 0;
	padding: 5px;
}

.errorwrap p {
	background: transparent;
	border: 0;
	color: #992A2A;
	margin: 0;
	padding: 8px;
	font-size: 11px;
}
</style>
<title>Аккаунт заблокирован</title>
</head>
<body>
<br /><br /><br /><br /><br /><br /><br /><br /><br />
<table border="0" width="600" cellspacing="0" cellpadding="0" align="center">
<tr>
<td width="100%">
<div class="errorwrap">
<h4>Ваш аккаунт на сайте заблокирован:</h4>
<p>Ваша учетная запись на сайте была заблокирована администратором. При этом были указаны следующие причины:</p>
<p>������� ��� �������</p>
<p>Срок окончания блокировки: 20 ��� 2017 10:05</p>
<p>Это полностью автоматический процесс блокировки и от вас не требуется ничего делать для его ускорения или прекращения.</p>
</div>
</td>
</tr>
</table>

</body>
</html>

 

Ссылка на сообщение
Поделиться на других сайтах

Файл надо ПЕРЕСОХРАНИТЬ в нужной кодировке, а не поменять надпись. Сайт в какой кодировке? Вот в такой же кодировке надо сохранить файл. Не надпись менять.
 

Ссылка на сообщение
Поделиться на других сайтах
7 минут назад, alex32 сказал:

Файл надо ПЕРЕСОХРАНИТЬ в нужной кодировке, а не поменять надпись. Сайт в какой кодировке? Вот в такой же кодировке надо сохранить файл. Не надпись менять.
 

я понял, так и сделал

сайт в 1251

файл в такой и есть кодировке изначально и вопросы везде.

если файл сохранить в кодировке utf-8 то часть текста становится нормальной, я написал выше об этом

Ссылка на сообщение
Поделиться на других сайтах
10 минут назад, NlCKRUS сказал:

по умолч файл в 1251 кодировке, если я его в utf-8 делаю, то становится все хорошо, кроме сообщения о причине бана

У вас сайт в кодировке windows-1251, соответственно этот файл должен быть в windows-1251, прописано в нем windows-1251, а не в UTF-8. У вас же было прописано windows-1251 в файле, а сам файл в UTF-8.

Ссылка на сообщение
Поделиться на других сайтах

c086faa221e0.jpg

Вот кодировка 1251. файл на сервере

в нем прописано тоже 1251

вместо букв - вопросы

https://yadi.sk/d/zvYq0v_E3E7PJF

файл

Ссылка на сообщение
Поделиться на других сайтах
14 минуты назад, NlCKRUS сказал:

Вот кодировка 1251. файл на сервере

в нем прописано тоже 1251

вместо букв - вопросы

https://yadi.sk/d/zvYq0v_E3E7PJF

файл

Сейчас файл нормальный. Видимо на вашем сервере, некорректно настроена кодировка по умолчанию, и отправляет кодировку utf-8 вам нужно обратиться к хостингу чтобы проверили кодировку по умолчанию, и либо изменили на вашу, либо отключили принудительный вывод заголовков кодировки.

Ссылка на сообщение
Поделиться на других сайтах

отправил вопрос хостеру, пока думают.

странно, что весь сайт работает корректно, с кодировкой нет проблем, а именно этот шаблон вызывает проблемы..

Ссылка на сообщение
Поделиться на других сайтах

ответ от хостера:

Цитата

Нам к сожалению, не удалось исправить кодировку для заблокированных пользователей.
Мы перекодировали файл templates/banned.tpl в кодировку в UFT-8, так как до этого он не отображался корректно, но переменные внутри данного файла, такие как - description и end, отображаются некорректно. Скорей всего они берут информацию из базы данных, где неверная кодировка.
Со стороны сервера отключен принудительный вывод заголовков кодировки.
Обратитесь, пожалуйста, к разработчику Вашего сайта.

 

Ссылка на сообщение
Поделиться на других сайтах
7 часов назад, NlCKRUS сказал:

Скорей всего они берут информацию из базы данных, где неверная кодировка.

Конечно берут. У вас сайт в windows-1251 кодировке. с чего же в  базе данных появится UTF-8?

 

7 часов назад, NlCKRUS сказал:

Со стороны сервера отключен принудительный вывод заголовков кодировки.

А вот в это я уже не верю. Верните шаблон в кодировку windows-1251, и также пропишите как положено windows-1251 в нем. Потом откройте файл engine/modules/banned.php и после строчки:

if( $blocked ) {

добавьте строчку

@header("Content-type: text/html; charset=".$config['charset']);

Это "убьет" настройки сервера по принудительному выводу заголовков кодировки. Если проблема после этого устранится, то хостинг ваш в корне был не прав, что принудительный вывод заголовков кодировки отключен.

Ссылка на сообщение
Поделиться на других сайтах

Скопировал tpl из шаблона и добавил строчку

Текст стал читабельным, напишу хостеру

я могу оставить эту строчку? или она может повлиять еще на что то?

Изменено пользователем NlCKRUS
Ссылка на сообщение
Поделиться на других сайтах

Мне ответили:

Цитата

Строчка @header("Content-type: text/html; charset=".$config['charset']); никакого отношения к веб-серверу не имеет, а только для отображения скрипта в браузере.
Так как сам сайт отображается корректно, то данная ситуация относится только к данному файлу.

 

Ссылка на сообщение
Поделиться на других сайтах
2 часа назад, NlCKRUS сказал:

Мне ответили:

Ерунду вам ответили. Видимо тех. поддержка вашего хостинга слабо разбирается в конфигурировании сервера. Эта строчка заменила заголовки сервера в части кодировки на свою принудительно. А по умолчанию она ставится в php.ini в настройках сервера, в настройке default_charset и начиная с PHP 5.6 то что написано в этой настройке идет принудительно в заголовки страниц. Это вам должны были либо убрать, либо заменить на кодировку вашего сайта. А вам хостинг ранее написал, что у них нет принудительной отправки кодировки в заголовках, и это оказалось не правдой, т.к. иначе бы эта строчка вам не помогла и не решила бы вашу проблему. А проблема оказалась в действительности в том что сервер принудительно отправляет в заголовках другую кодировку.

 

17 часов назад, NlCKRUS сказал:

я могу оставить эту строчку? или она может повлиять еще на что то?

Не только можете но и нужно оставить. Мы то же добавим это в дистрибутив в будущем. Чтобы предусмотреть и в данном случае "криво" настроенные сервера. Для других страниц сайта в DLE уже предусмотрено не полагаться на то что там понастроили в настройках сервера сбрасывать все значения, а эта страница полагалась на настройки сервера.

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

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

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...