Перейти к контенту
  • 0

Кодировка в IPB 3.05


maiforum

Вопрос

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

  • 0

Скрипт точно "русская версия" от IBR из клиент-центра? :D

 

Ник так отображается после конвертирования форума в тройку из двойки, после регистрации пользователя уже в тройке, после редактирования через АЦ?

 

Что написано в полях name и members_display_name таблички, что дает запрос "SELECT * FROM members WHERE email = '%email_со_скриншота%';" в разделе "Поддержка > Инструменты для управления SQL (поле SQL внизу страницы)" адмицентра?

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

  • 0
Скрипт точно "русская версия" от IBR из клиент-центра? :D

 

Ник так отображается после конвертирования форума в тройку из двойки, после регистрации пользователя уже в тройке, после редактирования через АЦ?

 

Что написано в полях name и members_display_name таблички, что дает запрос "SELECT * FROM members WHERE email = '%email_со_скриншота%';" в разделе "Поддержка > Инструменты для управления SQL (поле SQL внизу страницы)" адмицентра?

1) Да, точно

2) Конвертации НЕ было - форум новый, пользователь зарегистрировал ник "Эгира" и получилось такое

Даже редактирование из АЦ - не помогает, вводишь "Эгира" - ник совсем пропадает, нажимаешь сохранить - все равно косяк

3) В базе тот же косяк, т.е. имя записано со знаком вопроса вместо "Э" (в обоих полях)

 

Соображения?

 

p.s. Единственное что менялось, так это стиль оформления (но делал не я), может косяк там?

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

  • 0

Нет, дело либо в кодировке в БД, либо в конфигурации сервера (сопставление соединения).

 

У вас в conf_global.php заполнено это поле?

$INFO['sql_charset']			=	'utf8';

 

И что дает запрос "SHOW FULL COLUMNS FROM members;" в уже известном вам инструменте управления SQL? Напротив всех полей в столбце Collation должнобыть либо пусто, либо utf8_*.

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

  • 0
Нет, дело либо в кодировке в БД, либо в конфигурации сервера (сопставление соединения).

 

У вас в conf_global.php заполнено это поле?

$INFO['sql_charset']			=	'utf8';

 

И что дает запрос "SHOW FULL COLUMNS FROM members;" в уже известном вам инструменте управления SQL? Напротив всех полей в столбце Collation должнобыть либо пусто, либо utf8_*.

1) Да, записано

2) Примерно в половине полей "cp1251_general_ci"

в т.ч. name и members_display_name

Не подскажите как поступить далее?

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

  • 0
Примерно в половине полей "cp1251_general_ci" в т.ч. name и members_display_name

Ура, мы нашли проблему :D

 

Я так понимаю, форум у вас уже не пустой, и пересоздавать его заново с нуля уже не хочется?

 

1. Сделайте полный бекап БД.

2. Возьмите этот скрипт целиком, сохраните как что-то в стиле convert.php, положите его в корень вашего форума (рядом с index.php и conf_global.php) и пройдите в браузере по адресу: http://вашфорум/convert.php.

 

Данный скрипт поптытается аккуратно привести все поля к одинаковой кодировке - unicode. При этом, в отличие от всех других методов перекодирования, поля, которые уже в юникоде, трогаться не будут и данные не попортятся.

 

Удачи.

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

  • 0
Примерно в половине полей "cp1251_general_ci" в т.ч. name и members_display_name

Ура, мы нашли проблему :D

 

Я так понимаю, форум у вас уже не пустой, и пересоздавать его заново с нуля уже не хочется?

 

1. Сделайте полный бекап БД.

2. Возьмите этот скрипт целиком, сохраните как что-то в стиле convert.php, положите его в корень вашего форума (рядом с index.php и conf_global.php) и пройдите в браузере по адресу: http://вашфорум/convert.php.

 

Данный скрипт поптытается аккуратно привести все поля к одинаковой кодировке - unicode. При этом, в отличие от всех других методов перекодирования, поля, которые уже в юникоде, трогаться не будут и данные не попортятся.

 

Удачи.

Спасибо огромное!

Буду пробовать ;)

 

Примерно в половине полей "cp1251_general_ci" в т.ч. name и members_display_name

Ура, мы нашли проблему :)

 

Я так понимаю, форум у вас уже не пустой, и пересоздавать его заново с нуля уже не хочется?

 

1. Сделайте полный бекап БД.

2. Возьмите этот скрипт целиком, сохраните как что-то в стиле convert.php, положите его в корень вашего форума (рядом с index.php и conf_global.php) и пройдите в браузере по адресу: http://вашфорум/convert.php.

 

Данный скрипт поптытается аккуратно привести все поля к одинаковой кодировке - unicode. При этом, в отличие от всех других методов перекодирования, поля, которые уже в юникоде, трогаться не будут и данные не попортятся.

 

Удачи.

 

Теперь русские имена совсем не сохраняются. В базе получается пустое поле.

:)

 

И так пока только с буквой "Э", с остальным все хоошо. Как только добавляешь "Э" - пустое поле.

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

  • 0

"SHOW FULL COLUMNS FROM members" теперь показывает везде utf8_*? И что у вас показывает запрос "SHOW CHARSET LIKE 'utf8'"?

 

Сделайте резервную копию папки ips_kernel и распакуйте туда эти модифицированные файлы с перезаписью:

ips_kernel.tar.gz

 

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

 

У вас свой сервер, или виртуальный хостинг?

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

  • 0
"SHOW FULL COLUMNS FROM members" теперь показывает везде utf8_*? И что у вас показывает запрос "SHOW CHARSET LIKE 'utf8'"?

 

Сделайте резервную копию папки ips_kernel и распакуйте туда эти модифицированные файлы с перезаписью:

ips_kernel.tar.gz

 

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

 

У вас свой сервер, или виртуальный хостинг?

 

1) Да, показывает

2)

Charset Description Default collation Maxlen

utf8 UTF-8 Unicode utf8_general_ci 3

3) Вирутальный хостинг

 

Заменил тем, что Вы дали.

Результата нет.

 

Меня очень удивляет, что это только с буквой "Э"

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

  • 0

Стоп. А не наложились ли одна на другую две проблемы?

 

У вас в настройках отключено вот это?

Удалять коды chr(0xCA) при вводе?

Символ chr(0xCA) может использоваться в качестве 'скрытого' символа пробела для эмуляции зарегистрированных имен – может стать причиной пропадения символов в сообщениях в кодировках, отличных от западной.

В группе: Настройки безопасности

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

  • 0
Стоп. А не наложились ли одна на другую две проблемы?

 

У вас в настройках отключено вот это?

Удалять коды chr(0xCA) при вводе?

Символ chr(0xCA) может использоваться в качестве 'скрытого' символа пробела для эмуляции зарегистрированных имен – может стать причиной пропадения символов в сообщениях в кодировках, отличных от западной.

В группе: Настройки безопасности

Было включено. Убрал - все ок.

Спасибо огромное!

 

И еще один вопрос:

У пользователей не загружаются аватары, выдает:

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

В настройках для группы использование аватаров включено. Размер соответствует.

Запись в директорию "uploads" разрешена (0777)

 

У администраторов, например, аватары загружаются.

 

?

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

  • 0

В первую очередь проверьте эту настройку:

Путь до директории загрузок

Вводите абсолютный (полный) путь до директории загрузок "uploads". Важно понимать, что это не URL.

В группе: Глобальные настройки

 

Затем уточните, у вас на сервере Безопасный режим включен или выключен? Проверить можно в админцентре, перейдя на вкладку "Поддержка". В блоке "Обзор системы" будет такая строка.

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

  • 0
В первую очередь проверьте эту настройку:
Путь до директории загрузок

Вводите абсолютный (полный) путь до директории загрузок "uploads". Важно понимать, что это не URL.

В группе: Глобальные настройки

 

Затем уточните, у вас на сервере Безопасный режим включен или выключен? Проверить можно в админцентре, перейдя на вкладку "Поддержка". В блоке "Обзор системы" будет такая строка.

Безопасный режим ВЫКЛЮЧЕН

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

  • 0

Стоп. А не наложились ли одна на другую две проблемы?

 

У вас в настройках отключено вот это?

Удалять коды chr(0xCA) при вводе?

Символ chr(0xCA) может использоваться в качестве 'скрытого' символа пробела для эмуляции зарегистрированных имен – может стать причиной пропадения символов в сообщениях в кодировках, отличных от западной.

В группе: Настройки безопасности

Спасибо большое!

Та же проблема с буквой "Э" полностью решилась.

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

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

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

Гость
Ответить на вопрос...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

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

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

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

Зарузка...
×
×
  • Создать...

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

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.