|
|
|
| Проблема с кодировкой при пакетной загрузке данных.
Побродил по форуму, кое-что нашёл, но проблема решена не окончательно.
Что делаю:
1. Перед запуском утилиты mysql прописываю: chcp1251
2. После запуска: SET NAMES cp1251;
3. В системном меню сменил шрифт с точечного на Лусида Консоль
4. В my.ini запись default-character-set=cp1251 стоит только в mysqld
5. Файл загрузки .txt кодировка ANSI (в Юникоде вообще не записывается ничего)
Что получается:
1. Загружаются нормально данные записаные латиницей
2. Вместо кириллицы выдаётся абракадабра (не вопросы:) )
3. Цифры - частично съедаются.
Подскажите, плиз, что сделать для правильной загрузки:) | |
|
|
|
|
|
|
|
для: musya
(04.05.2009 в 12:12)
| | что такое загрузка ? | |
|
|
|
|
|
|
|
для: Trianon
(04.05.2009 в 12:24)
| | загрузка данных из текстового файла в таблицу БД | |
|
|
|
|
|
|
|
для: musya
(04.05.2009 в 12:29)
| | Способов несколько существует, опишите поподробнее этот момент - конкретные советы по решению проблемы связаны именно со способом загрузки. | |
|
|
|
|
|
|
|
для: cheops
(04.05.2009 в 12:31)
| | По книжке делаю. Через load data infile татата into table татата; | |
|
|
|
|
|
|
|
для: musya
(04.05.2009 в 12:33)
| | Должно бы сработать... а в дампе русский текст точно в кодировке cp1251, а не cp866? Если не сложно прикрепите кусочек? | |
|
|
|
|
 14.9 Кб |
|
|
для: cheops
(04.05.2009 в 12:34)
| | вот | |
|
|
|
|
|
|
|
для: musya
(04.05.2009 в 12:40)
| | Нет, я имею в виду кусочек cat2.txt | |
|
|
|
|
 15.5 Кб |
|
|
для: cheops
(04.05.2009 в 13:03)
| | В cat2.txt - латиница, cat.txt - кириллица | |
|
|
|
|
|
|
|
для: musya
(04.05.2009 в 13:09)
| | Прикрепите пожалуйста сам файл cat.txt (не изображение, а сам файл). | |
|
|
|
|
|
|
|
для: musya
(04.05.2009 в 13:09)
| | Вы хотите именно через LOAD DATA загружать? Это будет элемент Web-приложения? Или вам нужно просто развернуть дамп? Если последнее, то можно воспользоваться командой SOURCE
| |
|
|
|
|
 94 байт |
|
|
для: cheops
(04.05.2009 в 13:47)
| | Хочу понять, что не так. Делаю всё пошагово, по книге. Как я понял, Вы один из авторов. Можете посоветовать методику какую-нибудь для изучения?:) Пока читаю по главам и пробую на практике освоить прочитаное.. | |
|
|
|
|
|
|
|
для: musya
(04.05.2009 в 13:51)
| | Хм... кодировка файла правильная.
PS Поступаете тоже верно, лучше продвигаться последовательно. Правда для разворачивания дампа команда LOAD FILE редко применяется, лучше ориентироваться на непосредственное использование утилиты mysql (без интерактивного режима) - самый быстрый и самый безпроблемный вариант. | |
|
|
|
|
|
|
|
для: musya
(04.05.2009 в 12:33)
| | В операторе LOAD DATA INFILE кодировка задается явным указанием:
LOAD DATA [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE 'file_name'
[REPLACE | IGNORE]
INTO TABLE tbl_name
[CHARACTER SET charset_name]
[{FIELDS | COLUMNS}
[TERMINATED BY 'string']
[[OPTIONALLY] ENCLOSED BY 'char']
[ESCAPED BY 'char']
]
[LINES
[STARTING BY 'string']
[TERMINATED BY 'string']
]
[IGNORE number LINES]
[(col_name_or_user_var,...)]
[SET col_name = expr,...]
|
| |
|
|
|
|
|
|
|
для: Trianon
(04.05.2009 в 12:38)
| | Не выходит. Это с какой версии? У меня 5.0.21.
З.Ы. Не ставьте в игнор новичка!!!)) | |
|
|
|
|
|
|
|
для: musya
(04.05.2009 в 12:51)
| | с любой выше 4.1
LOAD DATA INFILE 'файл'
REPLACE INTO TABLE `таблица`
CHARACTER SET 'cp1251';
|
| |
|
|
|
|
|
|
|
для: Trianon
(04.05.2009 в 13:40)
| | Неа, не получается.. Может руки корявые, не знаю)) | |
|
|
|
|
|
|
|
для: musya
(04.05.2009 в 13:52)
| | Работать с национальным текстом с mysql через консоль - дело крайне отвратное даже для опытного пользователя.
И если есть возможность поместить данные через более дружественный клиент - лучше ею воспользоваться. Хоть через PMA - хоть через собственный скрипт. | |
|
|
|
|
|
|
|
для: Trianon
(04.05.2009 в 13:55)
| | Спасибо, запомню. | |
|
|
|
|
|
|
|
для: Trianon
(04.05.2009 в 13:55)
| | столкнулся с той же проблемой.
т.е. данный раздел(6.3.пакетная загрузка) книги можно не воспринимать всерьез, и прочитать лишь для ознакомление? | |
|
|
|
|
|
|
|
для: Zoyberg
(28.04.2010 в 00:59)
| | Это вопрос собственных предпочтений. | |
|
|
|
|
|
|
|
для: musya
(04.05.2009 в 12:51)
| | Это ключевое слово было введено начиная с 5.0.38, у вас пожалуй не сработает... | |
|
|
|
|
|
|
|
для: cheops
(04.05.2009 в 13:43)
| | Oops... и вправду. | |
|
|
|
|
|
|
|
для: musya
(04.05.2009 в 12:12)
| | Загружаете командой SOURСE или утилитой mysql?
В самом дампе SET NAMES cp1251; прописан? | |
|
|
|
|
|
|
|
для: cheops
(04.05.2009 в 12:29)
| | через утилиту mysql | |
|
|
|
|
|
|
|
для: musya
(04.05.2009 в 12:30)
| | какой командой? | |
|
|
|
|
|
|
|
для: musya
(04.05.2009 в 12:30)
| | Если используете команду вида
mysql -u root -p database < sql.sql
|
прямо в дамп редактируйте и добавляйте в начало команду
| |
|
|
|
|
 79.7 Кб |
|
|
для: cheops
(04.05.2009 в 12:32)
| | У меня таже беда. Пытаюсь вставить пару строк из текстового файла в таблицу. Во вставляемых словах вместо кирилицы абракадабра. Текстовый файл сделал в Блокноте. | |
|
|
|
|
|
|
|
для: ILL-JAH
(16.03.2011 в 18:46)
| | Настраивайте кодировку соединения.
PS Под новые вопросы, лучше заводить новые темы. | |
|
|
|