VBsupport перешел с домена .ORG на родной .RU
Ура!
Пожалуйста, обновите свои закладки - VBsupport.ru
Блок РКН снят, форум доступен на всей территории России, включая новые терртории, без VPN
На форуме введена премодерация ВСЕХ новых пользователей
Почта с временных сервисов, типа mailinator.com, gawab.com и/или прочих, которые предоставляют временный почтовый ящик без регистрации и/или почтовый ящик для рассылки спама, отслеживается и блокируется, а так же заносится в спам-блок форума, аккаунты удаляются
Если вы хотите приобрести какой то скрипт/продукт/хак из каталогов перечисленных ниже: Каталог модулей/хаков
Ещё раз обращаем Ваше внимание: всё, что Вы скачиваете и устанавливаете на свой форум, Вы устанавливаете исключительно на свой страх и риск.
Сообщество vBSupport'а физически не в состоянии проверять все стили, хаки и нули, выкладываемые пользователями.
Помните: безопасность Вашего проекта - Ваша забота. Убедительная просьба: при обнаружении уязвимостей или сомнительных кодов обязательно отписывайтесь в теме хака/стиля
Спасибо за понимание
Очень часто возникают вопросы с неверной кодировкой, при этом возникает термин "иероглиф".
Чем больше я встречаюсь с такой проблемой, тем чаще приходится задумываться о том, чтобы выработать единую стратегию борьбы с ними, но с небольшими изменениями для конкретных типов.
Имеет ли дальнейшее смысл? Возможно, что и нет Но можно попробовать.
Для начала покажу оригиналы. Два идентичных текстовых документа в кодировках cp1251(windows-1251) и UTF-8, просмотренные в браузере с соответствующим указанием кодировки:
cp1251 - cp1251:
utf8 - utf8:
Как вы видите, картинки идентичны. Хотя было бы удивительно, если бы это было не так
Остановимся пока на кодировке cp1251 и посмотрим как она будет выглядеть, если указать неверную кодировку при просмотре:
cp1251 - utf8 (наиболее часто встречающийся вариант)
Это единственный случай, когда в разных обстоятельствах и разные браузеры могут обрабатывать по разному.
Возьмём более экзотический вариант:
cp1251 - cp1252
и ещё более экзотический (хотя раньше это встречалось намного чаще)
cp1251 - koi8r
Пока всё, что мы видим, выглядит по разному, то есть мы довольно легко можем определить начальную и конечную кодировку.
Вернёмся к utf8 и сделаем те же самые скриншоты
utf8 - cp1251
utf8 - cp1252
utf8 - koi8r
Рассмотрев всё это, можно сделать некую классификацию иероглифов:
Вопросы - текст отображается в виде ?????? ??? ??????? ???? ???????
Отсутствие текста вообще или частично
Причины их возникновения мне не ясны. Можно только предположить, что то и другое возникает из-за особенностей MySQL, но какая была изначальная кодировка - не ясно.
Второй случай встречался мне лишь тогда, когда в базу на UTF-8 пытался добавить текст в cp1251.
Можно только предположить, что то и другое возникает из-за особенностей MySQL
Мда, именно MySQL заменяет текст отличный от кодировки сравнения на вопросы. Тут можно добавить только одно: существуют две... эм... стадии этого заболевания: 1 - вопросики есть на сайте, но в базе нормальный текст. Лечится сменой установок charset на стадии коннекта к базе. 2 - и на сайте и в базе вопросики. БД безнадежна, ее надо выкинуть и попробовать достать нормальную из бекапов...
@zCarot
zМарковь
Хочет третью строчку =)
Join Date: May 2005
Location: Лольск
Posts: 2,883
Версия vB: 3.8.x
Reputation:
Гуру 7454
Репутация в разделе: 5101
0
Sellrion, здесь меня интересовал только вопрос о том, какая была изначальная кодировка и какая конечная. Если это проделки MySQL, то определить это невозможно :(
@fantasy4fun
Продвинутый
Join Date: Dec 2007
Location: Qrsk
Posts: 216
Версия vB: 3.8.4
Reputation:
Опытный 46
Репутация в разделе: 0
0
Спасибо за доступный материал. Задам в этой теме свой вопрос, немного граничащий с кодировками. Сейчас делал бэкап бд форума через симпекс дампер. Он мне разными цветами выделил что мол есть одна таблица которая в utf8 (это я ставил хак vBsponsors), а всё остальное в cp1251. Это плохо? или не имеет значения?
@zCarot
zМарковь
Хочет третью строчку =)
Join Date: May 2005
Location: Лольск
Posts: 2,883
Версия vB: 3.8.x
Reputation:
Гуру 7454
Репутация в разделе: 5101
0
fantasy4fun, это однозначно не хорошо. Лучше привести к одной всё
AleX
Гость
Posts: n/a
fantasy4fun, у Сайпекса есть одна хорошая особенность. При восстановление через него Бэкапа, можно принудительно форсировать в одну кодировку - forced->cp1251 (к примеру).
@kolovrat
Простоузер
Join Date: Oct 2008
Location: West Siberia
Posts: 15
Версия vB: 3.7.2
Reputation:
Novice 0
Репутация в разделе: 0
0
zCarot, у меня вопрос по пакету vb372_zCarot_rus_utf8
Установил его на чистый форум 3.7.2, вроде всё нормально, но заметил один глюк...
Если при создании темы я пишу большую русскую букву Р, то когда тема создана, вместо Р прописывается Ъ.
Кроме того, при копипасте текста, если в нём есть строка начинающаяся с Р, то при отправке сообщения, весть дальнейший текст обрезается...
С чем это может быть связано?
kolovrat добавил 28.10.2008 в 22:04
Сейчас заметил, что не только с большой буквой Р такая проблема, она также вылазиет при написании большой буквы Э
Last edited by kolovrat : 10-28-2008 at 11:04 PM.
Reason: Добавлено сообщение
@MadJack21
Простоузер
Join Date: Dec 2007
Posts: 3
Версия vB: 4.1.10
Пол:
Reputation:
Novice 0
Репутация в разделе: 0
0
Здравствуйте.
У меня такая проблема с кодировкой.Создавался бэкап в latin1,на локальном сервере распаковывался без проблем и все прекрасно работало.
При переносе на другую машину пытался распаковать так же в latin1.
На выходе получил нечто непотребное.
Сразу скажу этот бэкап все что осталось.
Помогите кто чем может.
Я совсем еще новичок так что прошу сильно не ругать.
@sava36
Знаток
Join Date: Aug 2006
Location: Грузия, ТБИЛИСИ
Posts: 819
Reputation:
Knowing 263
Репутация в разделе: 25
0
Поделюсь со своими наблюдениями:
У меня сайт (не форум) в utf-8 и если устанавливаю например модули в - iso-8859-1, то перекодировка проблем не вызывает (использую - Notepad++). но если приходится устанавливать модуль в кодиповке Windiws 1251, то что-бы не делал - и в базе и на сайте - ?????? - замучался. стораюсь русифицированные модули и компоненты не ставить!
sava36 добавил 31.10.2009 в 15:57
кстати. в компоненте seyret (видео компонент) пробелы - черные квадратики.
Да еще. У меня сайт на двух хостингах, 1 в Тбилиси, а другой в США, так вот в США пишет по русски, а в Тбилиси - ??? (база и файлы были перенесены из Тбилиси в США. ОЧЕНЬ интересно. когда , для интереса, снова перенес модуль в Тбилиси, то результат - ????
Last edited by sava36 : 10-31-2009 at 04:57 PM.
Reason: Добавлено сообщение