Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Экспорт из .txt c помощью LOAD DATA ...
 
 автор: Snorri   (07.04.2005 в 20:47)   письмо автору
 
 

В мануале к MySQL 4.1 описывается экспорт записей из текстового файла в таблицу

(mysql> LOAD DATA LOCAL INFILE '/path/pet.txt' INTO TABLE pet
    -> LINES TERMINATED BY '\r\n';).

С английским проблем нет, а вот с русскими... например набираешь список учеников, а в ответ иероглифы-т.е вопрос первый, как коректно экспортировать из .txt Пробовал даже default-character-set=utf8, а .txt сохранять также в кодировке utf8, разве что иероглифы "китайские" сменились на "японские"
-какие настройки нужны? И как потом все это будет отображаться на WEB-страницах? Т.е. самый главный вопрос: как все настроить, чтобы и из .txt экспортировалось и MySQL command line client отображалось и на страницах показывалось?(Честно признаюсь, что только "объезжаю" MySQL c помощью command line client . SQL только начал изучать, читаю все тот же Manual.С PHP еще не пробовал интересно экспортировать, а не получается).

   
 
 автор: cheops   (07.04.2005 в 21:10)   письмо автору
 
   для: Snorri   (07.04.2005 в 20:47)
 

А иероглифы где? В консольном клиенте MySQL? Посмотрите тему по ссылке, скорее всего проблема решиться если перед запуском mysql сменить кодировку консоли на cp1251
chcp 1251

   
 
 автор: Snorri   (07.04.2005 в 22:18)   письмо автору
 
   для: cheops   (07.04.2005 в 21:10)
 

Да иероглифы в консольном клиенте - "MySQL COmmand Line Client"
он (клиент) появился после установки в "Пуск/Все программы".
===========================
Полное описание действий:
===========================
1. Запускаю MySQLInstanceConfig, который в той же программной группе, что и клиент еще там же Manual, и больше ничего.
Указываю cp1251. Заглядываю в my.ini - так оно и есть.
2. Создаю на C: F1.txt следующего содержания (символ разделитель tab, сохраняю по умолчанию):


Иванов Иван
Петров Петр


3.Запускаю клиента и командую

mysql> USE TEST;
Database changed
mysql> CREATE TABLE F1(fam text, name text);
Query OK, 0 rows affected (0.13 sec)

mysql> LOAD DATA INFILE 'C:/F1.txt' INTO TABLE F1
    -> LINES TERMINATED BY '\r\n';
Query OK, 2 rows affected (0.03 sec)
Records: 2  Deleted: 0  Skipped: 0  Warnings: 0

mysql> SELECT *FROM F1;
+--------+------+
| fam    | name |
+--------+------+
| ?????? | ???? |
| ?????? | ???? |
+--------+------+
2 rows in set (0.01 sec)

mysql>

Ссылка не работает.

   
 
 автор: cheops   (07.04.2005 в 22:36)   письмо автору
 
   для: Snorri   (07.04.2005 в 22:18)
 

1) F1.txt в какой кодировке? Прицепите его к сообщению если не сложно.
2) Можно поступить следующим образом Пуск->Программы->Стандартные->Командная строка
cd C:\mysql\bin

затем
срch 1251

затем
mysql -u root

Что-нибудь поменялось?
Так же в MySQL запустите команду
mysql>SHOW CHARACTER SET;

Какие кодировки поддерживает ваш сервер?

   
 
 автор: Snorri   (08.04.2005 в 07:32)   письмо автору
 
   для: cheops   (07.04.2005 в 22:36)
 

mysql> SHOW CHARACTER SET;
+----------+-----------------------------+---------------------+--------+
| Charset  | Description                 | Default collation   | Maxlen |
+----------+-----------------------------+---------------------+--------+
| koi8r    | KOI8-R Relcom Russian       | koi8r_general_ci    |      1 |
| latin1   | ISO 8859-1 West European    | latin1_swedish_ci   |      1 |
| ascii    | US ASCII                    | ascii_general_ci    |      1 |
| utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |
| ucs2     | UCS-2 Unicode               | ucs2_general_ci     |      2 |
| cp866    | DOS Russian                 | cp866_general_ci    |      1 |
| cp1251   | Windows Cyrillic            | cp1251_general_ci   |      1 |
+----------+-----------------------------+---------------------+--------+
34 rows in set (0.03 sec)

правда,я таблицу почистил убрав заведомо ненужные

--------
Что такое cpch1251? Code page change? Cmd ее не воспринимает. У меня кодировка меняется с
помощью утилиты MySQLInstanceConfig следующим образом:

О Standart Character Set(Make Latin1 the default) // это radiobutton

O Best Support For Multilingualism(Make UTF8 the default)

O Manual Selected Default charset/collation _______ |latin1 \/ | // это список c Charset'ами

Потом перезапускается.
-----
Версия сервера, если совсем точно 4.1.1
На сайте еще 5-ый лежит, но пишут экспериментальный,
-----
Файл, если не ошибаюсь в кодировке ANSI, прилагаю.

   
 
 автор: Snorri   (08.04.2005 в 10:21)   письмо автору
 
   для: Snorri   (08.04.2005 в 07:32)
 

Решил попробовать через PHP в обозреватель взял листинг 13.34
адаптировал, вот что получилось.
1)-------
Установливаю default_character-set=latin1 в my.ini
в консольном клиенте отображается
mysql> SELECT *FROM T1;
+--------+------+
| fam    | name |
+--------+------+
| ╚трэют | ╚трэ |
| ╧хЄЁют | ╧хЄЁ |
+--------+------+
2 rows in set (0.00 sec)

А в IE все нормально!

2)------
Установливаю default_character-set=сp1251 в my.ini
в консольном клиенте отображается то же самое

А в IE снова все нормально!
--------
Вывод:
все экспортируется, только в command line client не показывается.
Проверять надо через обозреватель(?).
Хотя в книге вижу напр. рис 13.19, что отображается кириллица
(с этой главой еще не разбирался)

   
 
 автор: cheops   (08.04.2005 в 10:24)   письмо автору
 
   для: Snorri   (08.04.2005 в 10:21)
 

Да искажает командная строка (у вас какая операционная система?)

   
 
 автор: cheops   (08.04.2005 в 10:22)   письмо автору
 
   для: Snorri   (08.04.2005 в 07:32)
 

Эта утилита, если мне память не изменяет настраивает только кодировку по умолчанию на сервере. А с кодировкой на клиенте нужно бороться силами клиента. Вы можете сохранять результаты в файл и просматривать из другого редактора или загрузить с сайта www.mysql.com какой-нибудь графический клиент (например, Control Center), которые доступны для совободной загрузки и работать с ними.

   
 
 автор: Snorri   (08.04.2005 в 10:38)   письмо автору
 
   для: cheops   (08.04.2005 в 10:22)
 

WINDOWS XP SP2 - это дома
W2k3 в школе, но на ней еще не пробовал.

mysql> SHOW Snorri;
+---------------------------------------------+
|        Snorri     :-)                                  |
+---------------------------------------------+
| Ушел за графическим клиентом |
+---------------------------------------------+
1 row in set (0.00)

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования