Если вам нравится SbUP Форум, вы можете поддержать его - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 и ещё....

 

Проблема с русскими никами пользователей с вернхим заглавным регистром.

Автор motosimak, 03-09-2012, 08:18:23

« назад - далее »

motosimakTopic starter

 Всем привет, проблема в следующем.

Сегодня обнаружил, что при вручении наград на своем форуме, а так же при написании личного сообщения в списке участников не получается выбрать пользователей у которых русские ники с верхним регистром заглавных букв.  Не в курсе как это исправить?

вот темка на форуме поддержки SMF: http://www.simplemachines.ru/index.php?topic=906.msg117328#msg117328



Добавлено: 03-09-2012, 10:11:07


был совет кодировку сравнения таблиц и базы данных сделать одной. У меня сейчас utf-8, но странная ситуация, если вбить в Settings.php  $db_character_set = 'utf8'; а затем сделать запрос REPLACE INTO smf_settings (variable, value) VALUES ('global_character_set', 'UTF-8') Phpmyadmin говорит, что ошибка, типа база уже и так в utf-8.



Добавлено: 03-09-2012, 10:13:55


  •  


Sevab

Цитата: motosimakу меня проблема еще, когда пишу в Settings.php $db_character_set = 'utf8'; то у меня форум превращается в знаки вопроса, хотя база в utf-8.

Значит изначально кодировки форума и базы данных  были разные.
Нужно приводить к одной, но сначала выяснить где в какой. Затем гугл, и ищем конвертацию данных из одной кодировки в другую.

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


motosimakTopic starter

Цитата: Sevab от 03-09-2012, 10:21:31Нужно приводить к одной, но сначала выяснить где в какой

какой запрос сделать в базу данных?
  •  

Sevab

У вас $db_character_set = что стоит? И изначально было как?

Также, в самой базе данных меняли кодировку после создания?

motosimakTopic starter

Цитата: Sevab от 03-09-2012, 11:37:54
У вас $db_character_set = что стоит? И изначально было как?

Также, в самой базе данных меняли кодировку после создания?

в файле settings.php  нет этого значения, если я его ставлю, то появляются крякозябры.
Базу данных создавал сразу в utf8. Форум ставил тоже в utf с русской локализацией.
  •  


Sevab

Поищите на форуме поддержки (через гугл и через форум) с запросами "$db_character_set" и кодировка. Много у кого подобная проблема была, решение(я) там точно есть.

motosimakTopic starter

У меня часть форума была в одной кодировке, часть в другой, при конвертировании таблиц выдавало ошибку MySQL Error: Duplicate entry \'`B/Источник\' for key \'PRIMARY\' (/var/www/u1737573/data/www/knowpc.ru/sxd/index.php:1581).

делал конвертацию в  syper dumpex  до этого проверил таблицы так же syper viewer.

У меня был вариант, когда данные и таблицы в utf8, а кодировка соединения latin1. Самое неприятное, что при конвертации из   latin1 в utf8 дампа базы данных выскакивала ошибка где то на половине перевода, в итоге часть форума перевелась, часть остались крякозябры.

Но был найден выход: Перед созданием дампа базы в кодировке latin1 нужно исключить из дампа или очистить кеш таблиц smf_log_search_*, а так же pretty_url_cache (в моем случае). После чего дамп заливается обратно уже в кодировке  utf8 и без ошибок и все работает. 

Теперь все имена с любыми регистрами и на русском и на английском выбираются.

  •  

Sevab



motosimakTopic starter

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

Teresa

motosimak, конечно, результат на лицо!
Не было бы счастья, да...
Такой красивый зато форум стал и ты теперь разбираешься :)



Если вам нравится SbUP Форум, вы можете поддержать его - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 и ещё....