LOAD DATA и непонятный символ

Name

Новичок
LOAD DATA и непонятный символ

Сохраняю файл exel в формате (txt c разделителями табуляции)
потом вставляю в MySql (LOAD DATA)
в самом последнем столбце, появляется какойто гребаный символ (видно в MySql Front)
то ли перенос строки толи еще что но str_replace его не опознает.
В браузере выводиться как пробел.

Что бы сделать. Как его удалить еще при вставке.
 

Mammoth

Guest
1. В каком формате ты сохраняешь лист Excel - в формате CSV или каком-то другом?

2. Хватит "вставлять в MySQL" - он то тут при чем? ;-)

(хотя может ты пытался сказать, что пользуешься PhpMyAdmin-ом? Тогда у тебя это не получилось.)

3. Что? У любого листа, сохраненного в твоем формате, такие символы имеются? Или дело все-таки в том, что этот символ имеется в самом листе?
 

Name

Новичок
1. 1.xls => 1.txt (с разделителями табуляции)
2. ?. LOAD DATA LOCAL INFILE 'C:/firm.txt' INTO TABLE site_engine.firm IGNORE 1 LINES (id,name,description)
3. У любого.
 

Mammoth

Guest
Что хоть за символ-то? Нет возможности посмотреть файл в шестнадцатеричном формате?
У меня, например, в текстовом файле, сохраненном таким образом, имеются только значения, которые я вводил в Excel + символ табуляции (09) + символы переводы строки (0D0A). С LOAD DATA INFILE я не тестил, возможно твой глюк из-за того, что MySQL подразумевает символом разделителя строк \n (символ 0A).

Попробуй использовать "опцию" LINES TERMINATED BY '\r\n' - может это то, что тебе нужно.
 

Name

Новичок
Попробуй использовать "опцию" LINES TERMINATED BY '\r\n' - может это то, что тебе нужно.
Это то что нужно. Спасибо.

А еще. У меня в этом файле есть поле с ценой 32,32(из exela так импортируется)
при вставке в mysql (float5,2) десятые не разпознает, обрезает наверное. Есть какие нибудь решения или надо файл пропарсить и заменить запятые на тире.
Или что?
 

ForJest

- свежая кровь
А ты формат числа измени в региональных настройках перед этой операцией. Глядишь тебе Ехель все правильно и выведет.
 
Сверху