powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Кодировка в таблице
8 сообщений из 8, страница 1 из 1
Кодировка в таблице
    #38363843
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дорого времени суток. Есть дамп базы после "заливки" которого данные в некоторых таблицах отображаются в неправильной кодировке.
пример дампа который выгрузился
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
CREATE TABLE `t_ops` (
  `id` int(11) NOT NULL,
  `id_pochtamts` int(11) NOT NULL,
  `name` varchar(50) character set cp1251 NOT NULL,
  `shortname` varchar(20) character set cp1251 default NULL,
  `_index` varchar(6) character set cp1251 NOT NULL,
  `class` tinyint(4) NOT NULL default '3',
  `placement` tinyint(4) NOT NULL default '0',
  PRIMARY KEY  (`id`),
  UNIQUE KEY `_index` (`_index`),
  KEY `id_pochtamts` (`id_pochtamts`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=681 ;


Дамп данных таблицы `t_ops`
--
Код: sql
1.
2.
3.
4.
5.
6.
7.
INSERT INTO `t_ops` (`id`, `id_pochtamts`, `name`, `shortname`, `_index`, `class`, `placement`) VALUES 
(1, 1, 'Имя_1', NULL, '392000', 3, 1),
(2, 1, 'Имя_2', '', '392001', 3, 1),
(3, 1, 'Имя_3', NULL, '392002', 3, 1),
(4, 1, 'Имя_4', NULL, '392003', 3, 1),
(5, 1, 'Имя_5', NULL, '392004', 3, 1),
.....................................................


Открыв в блокноте обнаружил что кодировка Unix 65001 (UTF8)
Соответственно после "заливки" в таблице вместо Имя_1 ???????. Мне нужна кодировка cp1251
Есть ли шанс исправить прекодировать данные в таблице. В чем косяк?
И какие параметры выставит у MySQL
...
Рейтинг: 0 / 0
Кодировка в таблице
    #38363845
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
mysql> show variables like 'char%';
+--------------------------+----------------------------------+
| Variable_name            | Value                            |
+--------------------------+----------------------------------+
| character_set_client     | cp1251                           |
| character_set_connection | cp1251                           |
| character_set_database   | latin1                           |
| character_set_filesystem | binary                           |
| character_set_results    | cp1251                           |
| character_set_server     | latin1                           |
| character_set_system     | utf8                             |
| character_sets_dir       | /usr/local/share/mysql/charsets/ |
+--------------------------+----------------------------------+
...
Рейтинг: 0 / 0
Кодировка в таблице
    #38363949
Stupid_BOT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,
есть шанс удалить импортированные данные и импортировать заново, предварительно _немного_ модифицировав файл дампа.
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;

 --
 /* Здесь Ваш "дамп данных таблицы `t_ops`" */
 --

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

...
Рейтинг: 0 / 0
Кодировка в таблице
    #38363980
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_FedorДамп данных таблицы `t_ops`
.....
Открыв в блокноте обнаружил что кодировка Unix 65001 (UTF8)
Соответственно после "заливки" в таблице вместо Имя_1 ???????. Мне нужна кодировка cp1251Так конвертните дамп в cp1251 перед заливкой.
DEFAULT CHARSET=utf8 - не понятно, зачем... тоже поменять.
Первой строчкой добавьте
Код: sql
1.
SET NAMES cp1251;
...
Рейтинг: 0 / 0
Кодировка в таблице
    #38364194
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
C
Код: sql
1.
SET NAMES cp1251;


????? знаки стали ТАМБОР
Как правильно определить кодировку
...
Рейтинг: 0 / 0
Кодировка в таблице
    #38364206
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

Вероятно, это utf-8, который интерпретируется как cp1251. В приложенном файле кодировка похожа на cp1251.
...
Рейтинг: 0 / 0
Кодировка в таблице
    #38364229
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vkleChek_Fedor,

Вероятно, это utf-8, который интерпретируется как cp1251. В приложенном файле кодировка похожа на cp1251.
И что делать? При заливки без SET NAMES cp1251; ??? с абра-кадабра
...
Рейтинг: 0 / 0
Кодировка в таблице
    #38364260
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ура с одной таблицей разобрался
Достаточно было указать
Код: sql
1.
DEFAULT CHARSET=сз1251


И не трогать дамп залить как есть?
P.S. Неправильное определение кодировки и отсутствие знаний ведет к созданию глупых тем на форуме
Спасибо
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Кодировка в таблице
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]