Перейти к содержимому


Фотография

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

Форумы IBResource

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 13
maiforum
  • Участники
  • Cообщений: 10

Отправлено

Буква "Э" отображается вот так:
Прикрепленный файл  Безымянный.png   27,51К   102 скачиваний

База в UTF8
Все остальное отображается нормально

Кто нибудь знает в чем проблема?

Ritsuka
  • Участники
  • Cообщений: 2 437

Отправлено

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

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

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

maiforum
  • Участники
  • Cообщений: 10

Отправлено

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

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

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

1) Да, точно
2) Конвертации НЕ было - форум новый, пользователь зарегистрировал ник "Эгира" и получилось такое
Даже редактирование из АЦ - не помогает, вводишь "Эгира" - ник совсем пропадает, нажимаешь сохранить - все равно косяк
3) В базе тот же косяк, т.е. имя записано со знаком вопроса вместо "Э" (в обоих полях)

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

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

Сообщение отредактировал maiforum: 17 Апрель 2010 - 18:44


Ritsuka
  • Участники
  • Cообщений: 2 437

Отправлено

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

У вас в conf_global.php заполнено это поле?
$INFO['sql_charset']			=	'utf8';

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

Сообщение отредактировал Ritsuka: 17 Апрель 2010 - 19:07


maiforum
  • Участники
  • Cообщений: 10

Отправлено

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

У вас в 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: 17 Апрель 2010 - 19:10


Ritsuka
  • Участники
  • Cообщений: 2 437

Отправлено

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

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

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

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

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

Удачи.

maiforum
  • Участники
  • Cообщений: 10

Отправлено

Примерно в половине полей "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: 17 Апрель 2010 - 20:28


Ritsuka
  • Участники
  • Cообщений: 2 437

Отправлено

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

Сделайте резервную копию папки ips_kernel и распакуйте туда эти модифицированные файлы с перезаписью:
Прикрепленный файл  ips_kernel.tar.gz   5,24К   23 скачиваний

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

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

maiforum
  • Участники
  • Cообщений: 10

Отправлено

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

Сделайте резервную копию папки ips_kernel и распакуйте туда эти модифицированные файлы с перезаписью:
Прикрепленный файл  ips_kernel.tar.gz   5,24К   23 скачиваний

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

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


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

Charset Description Default collation Maxlen
utf8 UTF-8 Unicode utf8_general_ci 3

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

Заменил тем, что Вы дали.
Результата нет.

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

Сообщение отредактировал maiforum: 18 Апрель 2010 - 00:43


Ritsuka
  • Участники
  • Cообщений: 2 437

Отправлено

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

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

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


Сообщение отредактировал Ritsuka: 18 Апрель 2010 - 01:26


maiforum
  • Участники
  • Cообщений: 10

Отправлено

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

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

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

Было включено. Убрал - все ок.
Спасибо огромное!

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

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

В настройках для группы использование аватаров включено. Размер соответствует.
Запись в директорию "uploads" разрешена (0777)

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

?

Сообщение отредактировал maiforum: 18 Апрель 2010 - 11:25


Ritsuka
  • Участники
  • Cообщений: 2 437

Отправлено

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

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


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

Сообщение отредактировал Ritsuka: 18 Апрель 2010 - 12:00


maiforum
  • Участники
  • Cообщений: 10

Отправлено

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

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


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

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

Yaroslaw
  • Участники
  • Cообщений: 13

Отправлено

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

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

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

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

Сообщение отредактировал Yaroslaw: 01 Ноябрь 2010 - 19:20





Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных