Ru-MaNGOS  

Вернуться   Ru-MaNGOS > Дополнения > WWW

Важная информация

WWW Web интерфейс для MaNGOS

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 13.03.2010, 10:44   #1
tempura
Forum bot
 
Аватар для tempura
 
Регистрация: 01.02.2010
Адрес: пусто
Сообщений: 838
Сказал(а) спасибо: 284
Поблагодарили 419 раз(а) в 191 сообщениях
Записей в дневнике: 60
tempura отключил(а) отображение уровня репутации
По умолчанию Решение ЛЮБЫХ проблем с кодировками.

Отсутствие корректного вывода текста на странице, любые проблемы с кодировками, могут быть вызваны двумя причинами, которые несложно различить:
1. текст на странице знаками вопроса: некорректная кодировка выборки данных из базы.
2. текст на странице иероглифами: некорректная выдача кодировки страницы.
Есть пара пограничных случаев, но они редко встречаются, и с ними проще - если один вариант исправления не подошел - используйте второй.


Исправление (примеры взяты из MMfPM):

Текст из базы на странице выдается знаками вопроса.
1. Ищем в коде где у нас подключение к базе и выбор базы. Строки подобные:
Цитата:
@mysql_connect($db_host, $db_username, $db_password, $newlink);
или
Цитата:
@mysql_select_db($db_name, $this->link_id);
Естественно, в разных системах эти строки могут различаться. Основное их различие - в способе вызова коннекта, сам коннект всегда присутствует.
2. Между ними, или после них вставляете подобную же конструкцию:
Цитата:
@mysql_query("SET NAMES 'utf8'");
(обратите внимание на кавычки).
Помните, что "конец строки" в рнр обозначается точкой с запятой (";")
Если там это уже стоит - значит меняем utf8 на cp1251.

Объясняю:
Кодировка вашей базы данных может отличаться от кодировки написаной в скрипте, либо используемой по умолчанию. Запрос
Цитата:
SET NAMES 'utf8'
(обратите внимание на кавычки) ставит нужную вам кодировку принудительно.




Текст на странице выдается иероглифами.
Для исправления должны ОБЯЗАТЕЛЬНО быть выполнены следующие три условия:
1. Браузеру должен выдаваться верный заголовок:
вверху страницы, в теге <head> должен стоять мета-тег
Код:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
(или Windows-1251).
Для примера - откройте код этой страницы форума.
2. Сервер должен отдавать верный заголовок:
в конфиге Апача, либо в файле .htaccess в корневой директории сайта, должна быть строка
Код:
AddDefaultCharset UTF-8
(или Windows-1251).
3. Код самой страницы должен быть в соответствующей кодировке.
Если страница в ANSI кодировке, а сервер хочет отобразить ее в UTF-8 - получатся иероглифы.

Третий пункт в php легко и просто правится одной строкой:
Код:
header("Content-Type: text/html; charset=UTF-8");
Таким образом страница в ANSI кодировке отдается браузеру с указанием "выводить ее в UTF-8".
__________________
Совершенно безопасен для людей, обладающих хотя бы некоторыми минимальными зачатками интеллекта, и способными строить причинно-следственные цепочки.

Последний раз редактировалось tempura; 13.03.2010 в 11:01.
tempura вне форума   Ответить с цитированием
15 пользователя(ей) сказали cпасибо:
DeusModus (13.03.2010), dj--alex (26.03.2010), Feel the Power (16.03.2010), FreeBSD (24.05.2010), JafarGH (18.05.2010), Ketr (18.05.2010), Konctantin (06.04.2010), LomanChePolino (01.06.2010), Next (14.03.2010), Volt88 (21.10.2010), Znaxapb (19.03.2010), _PARADOX_ (02.06.2010)
Старый 28.07.2011, 10:34   #2
doktoriwko
Новичок
 
Регистрация: 14.11.2010
Сообщений: 8
Сказал(а) спасибо: 1
Поблагодарили 0 раз(а) в 0 сообщениях
doktoriwko На верном пути
По умолчанию

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

Последний раз редактировалось doktoriwko; 28.07.2011 в 11:08.
doktoriwko вне форума   Ответить с цитированием
Старый 28.07.2011, 11:51   #3
KiriX
Умный
Старожил
 
Аватар для KiriX
 
Регистрация: 06.03.2010
Сообщений: 886
Сказал(а) спасибо: 698
Поблагодарили 431 раз(а) в 181 сообщениях
Записей в дневнике: 4
KiriX Реально хороший человекKiriX Реально хороший человекKiriX Реально хороший человекKiriX Реально хороший человекKiriX Реально хороший человек
По умолчанию

Докторишко, .htaccess тебе в помощь!
KiriX вне форума   Ответить с цитированием
Старый 28.07.2011, 11:59   #4
NeatElves
YTDB Dev
 
Аватар для NeatElves
 
Регистрация: 06.03.2010
Сообщений: 259
Сказал(а) спасибо: 28
Поблагодарили 280 раз(а) в 136 сообщениях
NeatElves Как самоцвет среди гранитаNeatElves Как самоцвет среди гранитаNeatElves Как самоцвет среди гранита
По умолчанию

Скорее мануал по браузеру.))
Миниатюры
Нажмите на изображение для увеличения
Название: 11.jpg
Просмотров: 552
Размер:	166.6 Кб
ID:	1025   Нажмите на изображение для увеличения
Название: 22.jpg
Просмотров: 471
Размер:	53.5 Кб
ID:	1026  
NeatElves вне форума   Ответить с цитированием
Старый 28.07.2011, 12:14   #5
doktoriwko
Новичок
 
Регистрация: 14.11.2010
Сообщений: 8
Сказал(а) спасибо: 1
Поблагодарили 0 раз(а) в 0 сообщениях
doktoriwko На верном пути
По умолчанию

Ну я в курсе как менять кодировку страницы ) И я знаю что на утф8 )
Но после изменения не сохраняються, и снова браузер открывает под cp1251.
По идее браузер же сам определяет кодировку страницы
Код:
# Disable access to this files
#<FilesMatch "\.(conf|php|in)$">
#	Deny from all
#</FilesMatch>
# Enable acces only for index.php and ajax.php
#<FilesMatch "(index|ajax|arena_ico|arena_small_ico|guild_ico|gps2|find|map|instance).php">
#	Allow from all
#</FilesMatch>
# Default startup page
DirectoryIndex index.php
# Disable output dirs
Options -Indexes
# cp1251 support
AddDefaultCharset cp1251
<IfModule mod_charset.c>
	CharsetDisable on
	CharsetRecodeMultipartForms Off
</IfModule>
php_value default_charset cp1251
php_flag zlib.output_compression On
FileETag none
Вот вроде изменил на cp1251, но что то не работает (

Последний раз редактировалось doktoriwko; 28.07.2011 в 13:38.
doktoriwko вне форума   Ответить с цитированием
Старый 29.07.2011, 13:23   #6
tempura
Forum bot
 
Аватар для tempura
 
Регистрация: 01.02.2010
Адрес: пусто
Сообщений: 838
Сказал(а) спасибо: 284
Поблагодарили 419 раз(а) в 191 сообщениях
Записей в дневнике: 60
tempura отключил(а) отображение уровня репутации
По умолчанию

Цитата:
Сообщение от doktoriwko Посмотреть сообщение
Вот почему то открываю мазилой выводяться всякие ироглифы вместо текста, с остальных браузеров все нормально.
Можно ли изменить кодировку самого сайта с утф8 на ср1251?
http://ru-mangos.ru/showthread.php?t=274
__________________
Совершенно безопасен для людей, обладающих хотя бы некоторыми минимальными зачатками интеллекта, и способными строить причинно-следственные цепочки.
tempura вне форума   Ответить с цитированием
Старый 30.07.2011, 21:41   #7
doktoriwko
Новичок
 
Регистрация: 14.11.2010
Сообщений: 8
Сказал(а) спасибо: 1
Поблагодарили 0 раз(а) в 0 сообщениях
doktoriwko На верном пути
По умолчанию

И эту статью я уже находил, спасибо. Но не помогло...
doktoriwko вне форума   Ответить с цитированием
Старый 30.07.2011, 22:35   #8
tempura
Forum bot
 
Аватар для tempura
 
Регистрация: 01.02.2010
Адрес: пусто
Сообщений: 838
Сказал(а) спасибо: 284
Поблагодарили 419 раз(а) в 191 сообщениях
Записей в дневнике: 60
tempura отключил(а) отображение уровня репутации
По умолчанию

Цитата:
Сообщение от doktoriwko Посмотреть сообщение
И эту статью я уже находил, спасибо. Но не помогло...
Это не может быть правдой. Вы не выполнили как минимум одну (а скорее всего - ни одной) из предложенных там инструкций.
Представьте пожалуйста полностью ваш проект (лучше без картинок - меньше места будет занимать) - я сделаю так, что он нормально заработает, а вам поставлю вечный ReadOnly за намеренное введение в заблуждение, обман.
__________________
Совершенно безопасен для людей, обладающих хотя бы некоторыми минимальными зачатками интеллекта, и способными строить причинно-следственные цепочки.
tempura вне форума   Ответить с цитированием
Старый 30.07.2011, 23:03   #9
doktoriwko
Новичок
 
Регистрация: 14.11.2010
Сообщений: 8
Сказал(а) спасибо: 1
Поблагодарили 0 раз(а) в 0 сообщениях
doktoriwko На верном пути
По умолчанию

Изменяю на cp1251 .htaccess, indexe и confige. В принципе я не телепат, не все так доступно написано, для без ошибочного понимания.
doktoriwko вне форума   Ответить с цитированием
Старый 30.07.2011, 23:50   #10
lovepsone
Ученый
 
Регистрация: 07.03.2010
Адрес: Беларусь,Брест
Сообщений: 188
Сказал(а) спасибо: 131
Поблагодарили 34 раз(а) в 27 сообщениях
lovepsone Хрен знает что...lovepsone Хрен знает что...
По умолчанию

наверное вы где-то ошиблись! Пересмотрите все заново так как я у себя менял кодировки и все было нормально.
__________________
sql-language.ru
lovepsone вне форума   Ответить с цитированием
Старый 31.07.2011, 00:40   #11
Minimajack
Гость
 
Сообщений: n/a
По умолчанию

Цитата:
Сообщение от doktoriwko Посмотреть сообщение
Изменяю на cp1251 .htaccess, indexe и confige. В принципе я не телепат, не все так доступно написано, для без ошибочного понимания.
в конфиге кодировка для БД...а вы таблицу с дампом в какой кодировке заливали? да и вообще что значит иероглифы? Где иероглифы? В данных из БД или в текстовом наполнении сайта? в метатеге тоже cp1251 писали, а не windows-1251?
  Ответить с цитированием
Пользователь сказал cпасибо:
KiriX (31.07.2011)
Старый 31.07.2011, 10:04   #12
tempura
Forum bot
 
Аватар для tempura
 
Регистрация: 01.02.2010
Адрес: пусто
Сообщений: 838
Сказал(а) спасибо: 284
Поблагодарили 419 раз(а) в 191 сообщениях
Записей в дневнике: 60
tempura отключил(а) отображение уровня репутации
По умолчанию

Цитата:
Сообщение от doktoriwko Посмотреть сообщение
Изменяю на cp1251 .htaccess, indexe и confige.
Уже ошибки пошли (выше написали какие).

Цитата:
Сообщение от doktoriwko Посмотреть сообщение
В принципе я не телепат, не все так доступно написано, для без ошибочного понимания.
Тут вы слово перепутали, вместо "телепат" вероятно хотели написать "интеллектуал"?
Укажите, какие именно места вам непонятны, и вам с удовольствием помогут. За несколько лет данный мануал (по исправлению кодировок) вызывал немало вопросов, однако ни разу в нем не были найдены ошибки и недочеты. Так что лучше бы вам поискать их у себя.
__________________
Совершенно безопасен для людей, обладающих хотя бы некоторыми минимальными зачатками интеллекта, и способными строить причинно-следственные цепочки.
tempura вне форума   Ответить с цитированием
Старый 31.07.2011, 10:33   #13
doktoriwko
Новичок
 
Регистрация: 14.11.2010
Сообщений: 8
Сказал(а) спасибо: 1
Поблагодарили 0 раз(а) в 0 сообщениях
doktoriwko На верном пути
По умолчанию

Что имел в виду, то и написал. Не нужно судить знания людей. Бд заливал в кодировке Cp1251.
Код:
Поиск квеста
РџРѕРёСЃРє
Ироглифы такие и в базе и в тексте сайта
doktoriwko вне форума   Ответить с цитированием
Старый 31.07.2011, 10:52   #14
Кот ДаWINчи
Умный
 
Аватар для Кот ДаWINчи
 
Регистрация: 07.03.2010
Адрес: Северный Урал (60°сш, 60°вд)
Сообщений: 330
Сказал(а) спасибо: 82
Поблагодарили 398 раз(а) в 119 сообщениях
Записей в дневнике: 30
Кот ДаWINчи Реально хороший человекКот ДаWINчи Реально хороший человекКот ДаWINчи Реально хороший человекКот ДаWINчи Реально хороший человекКот ДаWINчи Реально хороший человек
Отправить сообщение для Кот ДаWINчи с помощью ICQ Отправить сообщение для Кот ДаWINчи с помощью Skype™
По умолчанию

Для Базы мангоса кодировка таблиц должна быть утф-8

Для сайта - какая тебе надобна. Только не забывай после коннекта к базе, давать команду на выбор кодировки.

Пример:
Код:
function db_connection($base)
  {
   $connect = @mysql_connect($base['ip'].':'.$base['port'], $base['user'], $base['pass']);
   @mysql_select_db($base['db'], $connect);
   @mysql_query("SET NAMES 'utf8'");   
   return $connect;
  }
Кот ДаWINчи вне форума   Ответить с цитированием
Старый 31.07.2011, 10:56   #15
Minimajack
Гость
 
Сообщений: n/a
По умолчанию

Цитата:
Сообщение от doktoriwko Посмотреть сообщение
Что имел в виду, то и написал. Не нужно судить знания людей. Бд заливал в кодировке Cp1251.
Код:
Поиск квеста
РџРѕРёСЃРє
Ироглифы такие и в базе и в тексте сайта
это не иероглифы - это данные в кодировке utf-8...хуле, все sql файлы в utf-8, а льем cp1251....ладно вы сами не поняли но они у вас все же залились в utf-8, т.к. иероглифы были бы другие
а как вы узнали, что в базе все в такой кодировке? Чем смотрели? Если по сайту, то вам надо поменять кодировку подключения к базе.
Да и вообще напишите почему вы хотите поменять вменяемую кодировку utf-8 на убогую cp1251? Вам что лучше будет? Или у вас это субдомен с основной кодировкой cp1251?




кстати если вы не забыли то меню например кешируется...что бы там исправить надо либо отключить кеш, либо удалять каждый раз файлы кеша
  Ответить с цитированием
Пользователь сказал cпасибо:
KiriX (31.07.2011)
Старый 31.07.2011, 18:46   #16
tempura
Forum bot
 
Аватар для tempura
 
Регистрация: 01.02.2010
Адрес: пусто
Сообщений: 838
Сказал(а) спасибо: 284
Поблагодарили 419 раз(а) в 191 сообщениях
Записей в дневнике: 60
tempura отключил(а) отображение уровня репутации
По умолчанию

Ох, ну как вы все набросились на бедную doktoriwko. Он может пока еще и сам не понимает что у него там сломано, потому и не может починить. Надо просто помочь человеку разобраться.
Вон как Minimajack все подробно расписал. Практически - по нотам.
__________________
Совершенно безопасен для людей, обладающих хотя бы некоторыми минимальными зачатками интеллекта, и способными строить причинно-следственные цепочки.
tempura вне форума   Ответить с цитированием
Старый 04.08.2011, 14:15   #17
doktoriwko
Новичок
 
Регистрация: 14.11.2010
Сообщений: 8
Сказал(а) спасибо: 1
Поблагодарили 0 раз(а) в 0 сообщениях
doktoriwko На верном пути
По умолчанию

*бедного. Можно посчитать за оскорбление.
Меняю изза того что файрфокс не открывает в утф8, а в ср1251. Хотя и меняешь через вид, меняется обратно автоматически. Такая проблема не только у меня, у всех с фаером на моей страницы
doktoriwko вне форума   Ответить с цитированием
Старый 04.08.2011, 14:35   #18
Minimajack
Гость
 
Сообщений: n/a
По умолчанию

Цитата:
Сообщение от doktoriwko Посмотреть сообщение
*бедного. Можно посчитать за оскорбление.
Меняю изза того что файрфокс не открывает в утф8, а в ср1251. Хотя и меняешь через вид, меняется обратно автоматически. Такая проблема не только у меня, у всех с фаером на моей страницы
<meta charset="utf-8"> точно есть в исходном коде?
  Ответить с цитированием
Старый 05.08.2011, 10:45   #19
doktoriwko
Новичок
 
Регистрация: 14.11.2010
Сообщений: 8
Сказал(а) спасибо: 1
Поблагодарили 0 раз(а) в 0 сообщениях
doktoriwko На верном пути
По умолчанию

Есть точно. Я вот думаю мб дело в самой мазиле, отдает предпочтение к почему то ср1251.
Мб где то в апаче настройки изменить?
doktoriwko вне форума   Ответить с цитированием
Старый 05.08.2011, 21:03   #20
tempura
Forum bot
 
Аватар для tempura
 
Регистрация: 01.02.2010
Адрес: пусто
Сообщений: 838
Сказал(а) спасибо: 284
Поблагодарили 419 раз(а) в 191 сообщениях
Записей в дневнике: 60
tempura отключил(а) отображение уровня репутации
По умолчанию

Цитата:
Сообщение от doktoriwko Посмотреть сообщение
*бедного. Можно посчитать за оскорбление.
Меняю изза того что файрфокс не открывает в утф8, а в ср1251. Хотя и меняешь через вид, меняется обратно автоматически. Такая проблема не только у меня, у всех с фаером на моей страницы
"бедного", в смысле "скорбного на голову". Судя по приведенному - не выполнен третий пункт по приведенной выше ссылке на пост:
Цитата:
Текст на странице выдается иероглифами.
Для исправления должны ОБЯЗАТЕЛЬНО быть выполнены следующие три условия:
1. Браузеру должен выдаваться верный заголовок:
2. Сервер должен отдавать верный заголовок:
3. Код самой страницы должен быть в соответствующей кодировке.
Провал в интеллектуальную ямку.

Милый, вам же сколько уже раз писали: "читай посты, думай головой, выполняй что написано", а вы снова и снова игнорируете это.

Велкам на недельку в процесс размышлений.



PS
И я снова и снова повторю: если у вас что-то не получается - это ВАШИ проблемы. Решение вам ДАНО. Оно единственное. Его надо просто применить у себя, и все. Если у вас не хватает на это рук или головы - это ваши личные проблемы, разводить из-за этого флуд на форуме - не надо. Собственные руки и голову развивайте, а не парьте чужие.
__________________
Совершенно безопасен для людей, обладающих хотя бы некоторыми минимальными зачатками интеллекта, и способными строить причинно-следственные цепочки.
tempura вне форума   Ответить с цитированием
Ответ

Метки
cp1251, utf8, windows-1251, знаки вопроса, кодировка, кодировки

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
исправление любых ошибок, связанных с db_version tempura Прочая документация 2 07.03.2010 03:32


Текущее время: 23:38. Часовой пояс GMT +3.


ru-mangos.ru - Русское сообщество MaNGOS
Главная цель проекта MaNGOS - обучающая, поэтому разрешается использовать исходный код и собранную программу только для образовательных целей.
Вы не можете использовать MaNGOS в коммерческих целях, а также не разрешается устанавливать публичные серверы на базе MaNGOS.
Любое копирование материалов, информации в любом виде без указания источника - форума Ru-MaNGOS будет считаться нарушением авторских прав и нарушением Уголовного Кодекса РФ, ст. 146 ст. 147.
Перевод vBulletin: zCarot