SQLinfo.ru - Все о MySQL Webew.ru: теория и практика веб-технологий

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

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

Вы не зашли.

#1 19.03.2010 13:32:24

chelsea
Участник
Зарегистрирован: 15.10.2009
Сообщений: 22

перекодировать дамп

Добрый день. Есть дамп базы в utf-8 нужно перекодировать его в cp1251, какими средствами это можно сделать.

Неактивен

 

#2 19.03.2010 14:40:10

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

Re: перекодировать дамп

shell> recode utf8..cp1251 damp.sql

Действительно ли вам нужно перекодировать дамп?
FAQ п3,8

Неактивен

 

#3 19.03.2010 14:43:23

chelsea
Участник
Зарегистрирован: 15.10.2009
Сообщений: 22

Re: перекодировать дамп

Думаю что да, так как дамп в utf-8 база в cp1251 и русскоязычный текст отображается в базе как Пароль (Повторно), а на сайте нормально. 
Команду shell> recode utf8..cp1251 damp.sql нужно выполнять через консоль?

Неактивен

 

#4 19.03.2010 14:49:51

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

Re: перекодировать дамп

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

Что вы увидите, если захотите посмотреть файл в кодировке cp1251 как utf8 или koi8-r?

См ссылку на FAQ в прошлом посте.

Неактивен

 

#5 19.03.2010 14:53:50

chelsea
Участник
Зарегистрирован: 15.10.2009
Сообщений: 22

Re: перекодировать дамп

А почему тогда в базе отображается некорректно. Так ведь не должно тоже быть.

Неактивен

 

#6 19.03.2010 14:57:04

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

Re: перекодировать дамп

Потому что сервер отдает вам данные не в той кодировке в какой работает ваш клиент, которым вы смотрите базу. Наверняка пользуетесь пхпадмином?

Нужно указать серверу в какой кодировке вы хотите получать данные:
SET NAMES кодировка_вашего_клиента;

Неактивен

 

#7 19.03.2010 15:05:12

chelsea
Участник
Зарегистрирован: 15.10.2009
Сообщений: 22

Re: перекодировать дамп

Да вроде в той. Пользуюсь пхпадмином.

SHOW VARIABLES LIKE 'char%'
character_set_client      cp1251
character_set_connection      cp1251
character_set_database      cp1251
character_set_results      cp1251
character_set_server      cp1251
character_set_system      utf8

SHOW GLOBAL VARIABLES LIKE 'char%'
character_set_client      cp1251
character_set_connection      cp1251
character_set_database      cp1251
character_set_results      cp1251
character_set_server      cp1251
character_set_system      utf8

Неактивен

 

#8 19.03.2010 15:09:15

chelsea
Участник
Зарегистрирован: 15.10.2009
Сообщений: 22

Re: перекодировать дамп

Еще один момент, выставляю с сайта счет в базе он отображается нормальными русскими буквами, а выводится как ��������� i�������i�.

Неактивен

 

#9 19.03.2010 15:12:16

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

Re: перекодировать дамп

У пхпадмина свои какие-то настройки, поэтому бывают траблы с русским языком.


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

Для того, чтобы скачать MySQL GUI Tools, надо перейти по ссылке http://dev.mysql.com/downloads/gui-tools/5.0.html и скачать версию для Windows.

Для исполнения запросов используйте MySQL Query Browser, входящий в состав пакета.

Неактивен

 

#10 19.03.2010 15:18:28

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

Re: перекодировать дамп

chelsea написал:

Еще один момент, выставляю с сайта счет в базе он отображается нормальными русскими буквами, а выводится как ��������� i�������i�.

Ну, раз то, что на сайте отображается правильно, в базе кракозябрами, то логично и обратное - то, что в базу нормально, на сайте нет wink

В начале скриптов, нужно явно (с помощью команды SET NAMES) указать в какой кодировке вы работаете. Проще всего добавить эту строчку сразу после mysql_connect

Неактивен

 

Board footer

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