SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 04.12.2009 19:41:24

draelnor
Участник
Зарегистрирован: 04.12.2009
Сообщений: 7

Кодировка таблиц

Здравствуйте. В общем у меня такая проблема, после обновления ipb форума с версии 2.3 (cp1251) по 3.0.4 (utf8) на форуме появились крякозябры, тоесть вопросики. Но все это на половину, тоесть некоторые таблицы в цп1251 другие в ютф кодировке, подскажите, как мне все это дело привести в 1 вид? чтобы отображалось нормальным кирилическим шрифтом)

Неактивен

 

#2 04.12.2009 19:54:08

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Кодировка таблиц

FAQ п. 3 и 8

Перед изменением базы не забудьте сделать дамп.

Неактивен

 

#3 04.12.2009 20:16:15

draelnor
Участник
Зарегистрирован: 04.12.2009
Сообщений: 7

Re: Кодировка таблиц

P.S. Вопросег) где комманды типа этой вводятся?) Подскажите shell> mysqldump mydb > mydb.sql

Если это консоль то у меня нет возможности ее использовать...

Отредактированно draelnor (04.12.2009 20:38:20)

Неактивен

 

#4 04.12.2009 20:45:31

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Кодировка таблиц

Консоль.

На крайний случай для создания дампа можно использовать что-нибудь типа пхпадмина.

P.S. Вы пробовали выполнить сначала пункт 8?

Неактивен

 

#5 04.12.2009 20:53:41

draelnor
Участник
Зарегистрирован: 04.12.2009
Сообщений: 7

Re: Кодировка таблиц

vasya написал:

Консоль.

На крайний случай для создания дампа можно использовать что-нибудь типа пхпадмина.

P.S. Вы пробовали выполнить сначала пункт 8?

Угу пробывал, и utf8 Тоже пробывал ставить, все тщетно. Кстати у меня есть бэкап vbulletin форума, где в принципе все нормально и ничего не тронуто. Отсюда тут же вопрос, как понять к примеру что у меня стоит Latin1 кодировка? А что на счет бэкапа, я вот думаю, что если поиском, заменить все значения типа "charset" utf8 к примеру на cp1251, ну и еще добавить эти две строки:

SET NAMES cp1251;
SET character_set_server=cp1251;

Что нибудь получится?

Отредактированно draelnor (04.12.2009 20:55:12)

Неактивен

 

#6 04.12.2009 21:16:49

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Кодировка таблиц

draelnor написал:

Угу пробывал, и utf8 Тоже пробывал ставить, все тщетно. Кстати у меня есть бэкап vbulletin форума, где в принципе все нормально и ничего не тронуто. Отсюда тут же вопрос, как понять к примеру что у меня стоит Latin1 кодировка?

Самое простое посмотреть бекап. При создании таблицы (CREATE TABLE ...) указывается кодировка.
Или

show create table tablename;

Неактивен

 

#7 04.12.2009 21:18:05

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Кодировка таблиц

draelnor написал:

Угу пробывал, и utf8 Тоже пробывал ставить, все тщетно.

Кстати, а где именно вы выполняли эту команду?

Неактивен

 

#8 04.12.2009 21:22:33

draelnor
Участник
Зарегистрирован: 04.12.2009
Сообщений: 7

Re: Кодировка таблиц

vasya написал:

draelnor написал:

Угу пробывал, и utf8 Тоже пробывал ставить, все тщетно.

Кстати, а где именно вы выполняли эту команду?

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

Отредактированно draelnor (04.12.2009 21:23:30)

Неактивен

 

#9 04.12.2009 21:24:25

draelnor
Участник
Зарегистрирован: 04.12.2009
Сообщений: 7

Re: Кодировка таблиц

vasya написал:

draelnor написал:

Угу пробывал, и utf8 Тоже пробывал ставить, все тщетно. Кстати у меня есть бэкап vbulletin форума, где в принципе все нормально и ничего не тронуто. Отсюда тут же вопрос, как понять к примеру что у меня стоит Latin1 кодировка?

Самое простое посмотреть бекап. При создании таблицы (CREATE TABLE ...) указывается кодировка.
Или

show create table tablename;

Вот так... CREATE TABLE `usergroup` ( всякого рода инфа ) ENGINE=MyISAM DEFAULT CHARSET=cp1251;

Отредактированно draelnor (04.12.2009 21:25:48)

Неактивен

 

#10 04.12.2009 21:35:56

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Кодировка таблиц

draelnor написал:

В начало дампа вставлял smile

А в скриптах форума после подключения к базе?


draelnor написал:

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

Пхпмайадмин довольно глючная штука, у него какие-то собственные настройки для кодировок, поэтому возможны такие траблы. Лучше использовать MySQL GUI Tools

Неактивен

 

#11 04.12.2009 21:46:39

draelnor
Участник
Зарегистрирован: 04.12.2009
Сообщений: 7

Re: Кодировка таблиц

vasya написал:

А в скриптах форума после подключения к базе?

Хм... По сути сам IPB 3.0 работает на UTF-8 в конфиге при установке он это и прописывает. Да так сейчас и стоит. Но всеже UTF8 кодировка у него выходит "вопросиками"

vasya написал:

Пхпмайадмин довольно глючная штука, у него какие-то собственные настройки для кодировок, поэтому возможны такие траблы. Лучше использовать MySQL GUI Tools

Хотелось бы такое, но приходится довольствоваться тем что есть. Да и выделенного сервера у мну нет, если только дома на локалке, где денвер стоит... с ним вообще проблем нет smile У меня вот вопрос, что если все это дело оставить так как есть? в phpmyadmin крякозябры а в браузере нормально.

Отредактированно draelnor (04.12.2009 21:49:38)

Неактивен

 

#12 04.12.2009 22:03:26

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Кодировка таблиц

draelnor написал:

Хм... По сути сам IPB 3.0 работает на UTF-8 в конфиге при установке он это и прописывает.

Тогда в скриптах форума после подключения к базе нужно указать set names utf8; Этой командой вы указываетет серверу MySQL, что от вас информация приходит в utf8 и вам необходимо передовать её в utf8.
Непосредственно в базе инфа может храниться и в другой кодировке, сервер будет её перекодировать на лету, главное чтобы:
1. кодировки были совместимы
2. не было ситуации, когда в метаданных указана одна кодировка, а сами данные находяться в другой (в этом случае при перекодировании сервером будет получаться абракадабра).


draelnor написал:

Хотелось бы такое, но приходится довольствоваться тем что есть. Да и выделенного сервера у мну нет, если только дома на локалке, где денвер стоит... с ним вообще проблем нет smile У меня вот вопрос, что если все это дело оставить так как есть? в phpmyadmin крякозябры а в браузере нормально.

Про phpmyadmin посоветовать ничего не могу, так как не пользуюсь им.

Неактивен

 

#13 04.12.2009 22:13:37

draelnor
Участник
Зарегистрирован: 04.12.2009
Сообщений: 7

Re: Кодировка таблиц

vasya написал:

Тогда в скриптах форума после подключения к базе нужно указать set names utf8; Этой командой вы указываетет серверу MySQL, что от вас информация приходит в utf8 и вам необходимо передовать её в utf8.
Непосредственно в базе инфа может храниться и в другой кодировке, сервер будет её перекодировать на лету, главное чтобы:
1. кодировки были совместимы
2. не было ситуации, когда в метаданных указана одна кодировка, а сами данные находяться в другой (в этом случае при перекодировании сервером будет получаться абракадабра).

Честно говоря я не знаю где данные скрипты в этом форуме найти, скорей всего там продумано это... По идее если создать топик какой нибудь допустим, то пхпадминке отображается нормальными русскими буквами (если сообщение на русском конечно) У меня проблема единственно с конвертируемыми таблицами имеется и все)

Отредактированно draelnor (04.12.2009 22:15:24)

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson