SQLinfo.ru - Все о MySQL

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

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

Вы не зашли.

#1 19.08.2010 19:40:43

Kaylang
Участник
Зарегистрирован: 19.08.2010
Сообщений: 10

И снова о кодировке.

Доброго времени суток всемогущий All!

Прошу не пинать меня сапогами, посмотрел темы, посмотрел FAQ, посмотрел статьи но решения моей проблемы не нашел.

Ситуация такая: Меня попросили обновить сайт. Сам сайт лежит на забугорном сервере. Доступ к MySQL через учетку пользователя. MySQL версии 5.0.22. Стоит phpmyadmin версии 2.8.2.4.

MySQL-кодировка:  UTF-8 Unicode (utf8).
Сопостовление с utf8_general_ci.
Текстовые поля с кириллицей используют сопостовление CP1251_general_ci.

Сайт был сделан на Joomla 1.0.15. Материалы сайта на трех языках: русский-итальянский-английский.
На самом сайте кириллица отображается нормально, но при просмотре таблиц через phpmyadmin отображается вопросительными знаками.
Но не в этом основная проблема. Пробема в том, что когда делаю дамп базы посредством phpmyadmin на локальный диск, вся кириллица так и сохраняется в виде вопросительных знаков.

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

Отредактированно Kaylang (19.08.2010 20:01:05)

Неактивен

 

#2 19.08.2010 19:43:39

Kaylang
Участник
Зарегистрирован: 19.08.2010
Сообщений: 10

Re: И снова о кодировке.

На всякий случай переменные MySQL, касающиеся кодировок.

character set client      utf8
(Глобальное значение)     latin1
character set connection     utf8
(Глобальное значение)     latin1
character set database     latin1
character set filesystem     binary
character set results     utf8
(Глобальное значение)     latin1
character set server     latin1
character set system     utf8
character sets dir     /usr/share/mysql/charsets/
collation connection     utf8_general_ci
(Глобальное значение)     latin1_swedish_ci
collation database     latin1_swedish_ci
collation server     latin1_swedish_ci

Неактивен

 

#3 20.08.2010 00:48:37

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: И снова о кодировке.

А покажите, пожалуйста, SHOW CREATE TABLE какой-нибудь и скажите, какой
SET NAMES делает сайт. Полное ощущение, что все-таки везде latin1 и нужно
действовать так, как написано в статье smile

Неактивен

 

#4 20.08.2010 01:24:39

Kaylang
Участник
Зарегистрирован: 19.08.2010
Сообщений: 10

Re: И снова о кодировке.

Код:

CREATE TABLE `test_table` (
`test1` VARCHAR( 255 ) CHARACTER SET cp1251 COLLATE cp1251_general_ci NOT NULL ,
`test2` MEDIUMTEXT CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL
) ENGINE = MYISAM CHARACTER SET cp1251 COLLATE cp1251_general_ci;

Вот создал тестовую таблицу.

Относительно SET NAMES сайта, напомните, пожалуйста, где посмотреть.

Добавлено: В настройках Joomla 1.0.15 указано "ru_RU.CP1251".

Отредактированно Kaylang (20.08.2010 01:35:40)

Неактивен

 

#5 20.08.2010 01:40:27

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: И снова о кодировке.

Тестовую таблицу не интересно. Интересна таблица с данными. Тоже 1251?

И интересно, если подключиться phpMyAdmin с кодировкой 1251 — Вы сможете
прочитать данные? Хотя бы в виде кракозябл?

Неактивен

 

#6 20.08.2010 01:45:29

Kaylang
Участник
Зарегистрирован: 19.08.2010
Сообщений: 10

Re: И снова о кодировке.

paulus написал:

Тестовую таблицу не интересно. Интересна таблица с данными. Тоже 1251?

То бишь из phpmyadmin командой INSERT вставить данные в таблицу? Попробую.

И интересно, если подключиться phpMyAdmin с кодировкой 1251 — Вы сможете
прочитать данные? Хотя бы в виде кракозябл?

Если я меняю кодировку в браузере на cp1251 интерфейс phpmyadmin отображается крокозяблами, но данные так и отображаются занаками вопроса.

Неактивен

 

#7 20.08.2010 01:59:08

Kaylang
Участник
Зарегистрирован: 19.08.2010
Сообщений: 10

Re: И снова о кодировке.

Выполнил такой запрос:

Код:

CREATE TABLE `jos_cat_test` (
  `id` int(11) NOT NULL auto_increment,
  `parent_id` int(11) NOT NULL default '0',
  `title` varchar(50) NOT NULL default '',
  `name` varchar(255) NOT NULL default '',
  `image` varchar(100) NOT NULL default '',
  `section` varchar(50) NOT NULL default '',
  `image_position` varchar(10) NOT NULL default '',
  `description` text NOT NULL,
  `published` tinyint(1) NOT NULL default '0',
  `checked_out` int(11) unsigned NOT NULL default '0',
  `checked_out_time` datetime NOT NULL default '0000-00-00 00:00:00',
  `editor` varchar(50) default NULL,
  `ordering` int(11) NOT NULL default '0',
  `access` tinyint(3) unsigned NOT NULL default '0',
  `count` int(11) NOT NULL default '0',
  `params` text NOT NULL,
  PRIMARY KEY  (`id`),
  KEY `cat_idx` (`section`,`published`,`access`),
  KEY `idx_section` (`section`),
  KEY `idx_access` (`access`),
  KEY `idx_checkout` (`checked_out`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=21 ;


INSERT INTO `jos_cat_test` (`id`, `parent_id`, `title`, `name`, `image`, `section`, `image_position`, `description`, `published`, `checked_out`, `checked_out_time`, `editor`, `ordering`, `access`, `count`, `params`) VALUES (1, 0, 'первая', 'категория', '', '2', 'left', '', 1, 0, '0000-00-00 00:00:00', NULL, 1, 0, 0, 'imagefolders=*2*'),
(2, 0, 'вторая', 'категория', '', '1', 'left', '', 1, 0, '0000-00-00 00:00:00', NULL, 1, 0, 0, 'imagefolders=*2*');

В phpmyadmin данные отображаются корректно. На сайте проверить не могу, он сейчас выключен.

Неактивен

 

#8 20.08.2010 02:07:35

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: И снова о кодировке.

Нене, в phpMyAdmin при подключении есть возможность выбрать кодировку. Вот там
выберите cp1251 и попробуйте сделать выборку (чтение, не запись) данных — они долж-
ны прочитаться. И тогда из этого phpMyAdmin можно сделать бэкап данных.

Неактивен

 

#9 20.08.2010 02:22:13

Kaylang
Участник
Зарегистрирован: 19.08.2010
Сообщений: 10

Re: И снова о кодировке.

paulus написал:

Нене, в phpMyAdmin при подключении есть возможность выбрать кодировку. Вот там
выберите cp1251

Вы говорите о "Сопоставление соединения с MySQL"?

Неактивен

 

#10 20.08.2010 02:36:45

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: И снова о кодировке.

Ммм... да, думаю, подойдет smile

Неактивен

 

#11 20.08.2010 02:40:19

Kaylang
Участник
Зарегистрирован: 19.08.2010
Сообщений: 10

Re: И снова о кодировке.

paulus написал:

Ммм... да, думаю, подойдет smile

Вопрос, меняя сопоставление я не убью ненароком данные?

Неактивен

 

#12 20.08.2010 02:46:19

Kaylang
Участник
Зарегистрирован: 19.08.2010
Сообщений: 10

Re: И снова о кодировке.

Увы, изменяю сопоставление на cp1251_general_ci, страница обновляется и в поле сопоставление опять значение utf8_general_ci. sad

Неактивен

 

#13 20.08.2010 13:26:32

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: И снова о кодировке.

А там какой-нибудь кнопочки «войти» или «применить» нету?

Неактивен

 

#14 20.08.2010 14:13:23

Kaylang
Участник
Зарегистрирован: 19.08.2010
Сообщений: 10

Re: И снова о кодировке.

paulus написал:

А там какой-нибудь кнопочки «войти» или «применить» нету?

Нет, к сожалению, нету.

Неактивен

 

#15 20.08.2010 18:40:42

Kaylang
Участник
Зарегистрирован: 19.08.2010
Сообщений: 10

Re: И снова о кодировке.

Благодарю всех откликнувшихся!
Проблема решена.

Неактивен

 

Board footer

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