smf_2-0-rc2, UTF-8 и кракозябры

Автор мазохист, 24 ноября 2009, 22:56:53

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

0 Пользователи и 1 гость просматривают эту тему.

Grigorius

#50
Там есть такая строка.
------

Еще. Заглянул на сервер через phpmyadmin
у меня все таблицы в cp1251_general_ci

Какой надо сделать запрос, чтобы исправить таблицы в utf8 или какую надо кодировку?

P.S. Прошу прощения за глупые вопросы.

Inter

#51
самое главное чтоб в phpmyadmin каракулей не было!

создай файл .htaccess
с содержимым:

AddDefaultCharset UTF-8

и закинь его по FTP в папку на сервере




в phpmyadmin сделай экспорт и скопируй содержимое базы в буфер обмена
потом программой Notepad++ создай файл .sql с кодировкой UTF-8 без BOM и вставь содержимое базы
сохрани


потом

да кстати саму базу на странице операции в phpmyadmin поменяй на utf8_general_ci




потом

удаляешь все таблицы из базы в phpmyadmin  laugh




потом

файл свой кидаешь в импорт в phpmyadmin




потом

заходишь в админку форума и меняешь настройки на utf-8




В Settings.php добавить
$db_character_set = 'utf8';





вроде все

вобщем бэкапься сначала перед этими манипуляциями - а то вдруг не получится...  :P
I'm the law and you can't beat the law

|censored| 'em and their law

Crack down at sundown

Grigorius

#52
В phpmyadmin "да кстати саму базу на странице операции в phpmyadmin поменяй на utf8_general_ci" - как сделать? Просто выбрать БД, затем в "Операции" в поле "Сравнение" выбрать кодировку?
Я сделал так, но таблицы остались в прежней кодировке. Только MyISAM поменялся на utf8_general_ci

Grigorius

Делаю, как Вы пишете... и... заметил, что в тексте бекапа у меня везде:
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;

Может сразу надо заменить, прежде чем заливать на сервер?

Inter

ЦитироватьЯ сделал так, но таблицы остались в прежней кодировке.
не волнуйся - просто сделай все по инструкции и потом все таблицы будут нормальными - главное что каракулей не было
I'm the law and you can't beat the law

|censored| 'em and their law

Crack down at sundown

Grigorius


Grigorius

Цитата: digger от 17 апреля 2010, 15:49:15

Grigorius
перед преобразованием отключите поисковое индексирование и удалите индексы.

Сделал как Вы сказали. Текст почти весь исправился, но получилось искажение всей темы. С чем это связано?

digger®

Цитата: Grigorius от 18 апреля 2010, 19:42:58
Сделал как Вы сказали. Текст почти весь исправился, но получилось искажение всей темы. С чем это связано?

Тема же самопальная. Кто ее делал, пускай и разбирается.

Deesare

Супер ответ, главное в нём много смысла, а самое главное где-то кроется вполне понятный ответ
Ненавижу две вещи - Расизм и негров

Grigorius

Пока еще не поправили дизайн-тему... Я заметил, что многие топики "урезались"... Это связано с настройками темы или - из БД удалилась информация?

digger®

Цитата: Deesare от 18 апреля 2010, 20:06:37
Супер ответ, главное в нём много смысла, а самое главное где-то кроется вполне понятный ответ

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

Цитата: Grigorius от 18 апреля 2010, 20:13:16
Пока еще не поправили дизайн-тему... Я заметил, что многие топики "урезались"... Это связано с настройками темы или - из БД удалилась информация?

У вас дамп базы вообще есть? Отконвертируйте его в utf-8 и залейте заново.

Jim_Di

Возможно таблица в latin1 создана и заливается криво из-за этого.

если всё же у вас таблицы оказались в latin1, то делаем дамп следующим образом:
mysqldump -d -h hostname -u forum -p1234 forum > /home/user/forum_tableinfo.sql
mysqldump -t -h hostname -u forum -p1234 forum > /home/user/forum_data.sql

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

далее ищем latin1 и меняем на нужную кодировку. точно ничего сказать не могу, по ситуации больше надо делать.

в нашем случае на сервере был utf-8, таблицы созданы дфешт1, а содержимое в cp1251.

чтобы всё это привести в порядок понадобилось в forum_data.sql заменить latin1 на cp1251, а в forum_tableinfo.sql на utf8

вобщем привели всё к utf8 и теперь жить стало проще =) надеюсь, что кому-нибудь пригодится.

Mavn

Цитата: Jim_Di от 14 мая 2010, 10:08:12
Возможно таблица в latin1 создана и заливается криво из-за этого.

если всё же у вас таблицы оказались в latin1, то делаем дамп следующим образом:
mysqldump -d -h hostname -u forum -p1234 forum > /home/user/forum_tableinfo.sql
mysqldump -t -h hostname -u forum -p1234 forum > /home/user/forum_data.sql

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

далее ищем latin1 и меняем на нужную кодировку. точно ничего сказать не могу, по ситуации больше надо делать.

в нашем случае на сервере был utf-8, таблицы созданы дфешт1, а содержимое в cp1251.

чтобы всё это привести в порядок понадобилось в forum_data.sql заменить latin1 на cp1251, а в forum_tableinfo.sql на utf8

вобщем привели всё к utf8 и теперь жить стало проще =) надеюсь, что кому-нибудь пригодится.
далеко не у всех есть доступ к ssh тем более на шаред хосте. Проще тем же дампером через пхп отработать всю бд.
SimpleMachines Russian Community Team
п.1 Пройду курсы гадалок для определения исходного кода по скриншоту.

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

Jim_Di

Однако всё же как вариант, да и с дамперами на пхп у меня не сложилось - по таймауту вылетают, сколько не увеличивай.