SQLinfo.ru - Все о MySQL

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

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

Вы не зашли.

#1 19.02.2009 15:40:55

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

Помогите начинающему

Немогу вставить в таблицу информацию из текстового файла.
Есть таблица catalogs.tbl, поля: id_catalog тип INT, name тип TEXT.
Текстовый файл catalogs.txt
1    Процессоры
2    Материнские платы
3    Видеоадаптеры
4    Жесткие диски
5    Оперативная память
При попытке вставить информацию из файла
LOAD DATA INFILE 'C:/mysql/bin/catalogs.txt'
INTO TABLE catalogs;
получаю ответ
ERROR 1366 (HY000): Incorrect sring value: '\xCF\xFO\xEE\xF6\xE5\xF1...' for column 'name' at row 1
при смене русских букв в файле на английские информация добавляетса в таблицу.
Кодировка установленная:
Server characterset:     cp1251
Db      characterset:      utf8      (даже не знаю как изменил, была тоже ср1251 но данные не вставлялись)
Client characterset:      cp1251
Conn. characterset:      cp1251

Очень хочу научитса, учить некому, приходитса самому разбиратса во всем.
Всем заранее спасибо!

Неактивен

 

#2 19.02.2009 15:57:01

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

Re: Помогите начинающему

Попробуйте добавить в явном виде кодировку данных при загрузке.

LOAD DATA INFILE 'C:/mysql/bin/catalogs.txt'
INTO TABLE catalogs
CHARACTER SET cp1251;

http://dev.mysql.com/doc/refman/5.1/en/load-data.html

Ну и, разумеется, убедитесь, что текстовое поле в catalogs имеет кодировку cp1251.

Неактивен

 

#3 19.02.2009 16:26:49

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

Re: Помогите начинающему

CHARACTER SET cp1251;
Спасибо помогло, данные вставились, но в виде иероглифов.
Попробовал создать заново таблицу
CREATE TABLE catalogs (
id_catalog INT(11) NOT NULL,
name TEXT CHARACTER SET cp1251
);
Тот же результат, вставляет только со строкой CHARACTER SET cp1251, но в виде иероглифов.

Неактивен

 

#4 19.02.2009 16:49:29

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

Re: Помогите начинающему

Думаю, что вставляет нормально, а вот клиент Ваш показывает не правильно. Какой клиент используете?

В консоли Windows, насколько я знаю, cp866.

Неактивен

 

#5 19.02.2009 16:56:30

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

Re: Помогите начинающему

В консоли Windows cp866, это я видел.
Версия клиента 5.0.67-community-nt
У меня XP Home Edition SP3.

Неактивен

 

#6 19.02.2009 17:01:53

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

Re: Помогите начинающему

Выполните сначала команду set names cp1251;
а затем делайте выборку из таблицы.

Неактивен

 

#7 19.02.2009 17:05:19

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

Re: Помогите начинающему

SET NAMES cp866?

Неактивен

 

#8 19.02.2009 17:07:20

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

Re: Помогите начинающему

Выполнил SET NAMES cp1251;
потом SELECT * FROM catalogs;
результат тотже sad

Неактивен

 

#9 19.02.2009 17:11:27

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

Re: Помогите начинающему

Огромное спасибо smile продлили мне жизнь smile
SET NAMES cp866 сработало.
Надеюсь на этом все. Или еще что то стоит поменять?

Неактивен

 

#10 19.02.2009 17:42:04

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

Re: Помогите начинающему

На этом этапе - нет. На этапе забирания данных лучше каждый раз (после подключения) писать кодировку,
в которой хотите получить данные (SET NAMES ...), иначе рискуете опять получить кракозяблы smile

Неактивен

 

#11 19.02.2009 17:57:27

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

Re: Помогите начинающему

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


Прикрепленные файлы:
Attachment Icon Скрин.JPG, Размер: 89,369 байт, Скачано: 482

Неактивен

 

#12 19.02.2009 18:06:18

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

Re: Помогите начинающему

Все, разобралса, просто при снятии данных приходитса дописывать LINES TERMINATED BY
Дальше думаю сам разберусь.
Всем спасибо за помощь, надеюсь и я скоро смогу кому-то помочь smile

Неактивен

 

Board footer

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