Помогите решить проблему.
При импорте CSV или txt файла UTF8, содержащего русские названия не отображаются соответствующие названия полей и не импортируются имена пользователей и текстовые данные профайла.
Как я понимаю ключ крешению проблемы в редактировании user_import.module
прбовал делать по рекомендации
#13
Andreas Goebel
http://drupal.org/node/190437
установл в строке 1033: foreach ($data_row as utf8_encode($data_cell)) {
при попытке импорта
поля появились в виде абракадабры.
буду признателен за помощь.
тестовый файл и user_import.module
прилагаю.
Вложение | Размер |
---|---|
user_import.module | 56.43 КБ |
user_import.module.txt | 56.43 КБ |
Комментарии
тестовый файл
весь трабл в этой строчке
<?php
$data_row = [user=fgetcsv]fgetcsv[/user] ($handle, 1000000, ",");
?>
попробуйте заменить ее на:
<?php
$line = fgets($handle, 1000000);
$line = iconv("WINDOWS-1251", "UTF-8", trim($line));
// это необходимо только если вы импортируете из файла в кодировке cp-1251
$data_row = explode(';', $line); или $data_row = explode(',', $line);
// В зависимости от разделитеся в файле импорта.
?>
пока не получилось
как удостовериться что файл который я делаю в TXT или CSV формате действительно в кодировке UTF8
я уже начинаю сомневаться
у меня есть еще идея проверить это через юникс
поместив файл на хост, и там проверить и при необходимости сконвертировать его юникс конвертором
или коммандой iconv :???
А тупо открыть в блокноте или notepad++ и посмотреть кодировку слабо?
Или просто продебажить что возвращает функция "fgetcsv ($handle, 1000000, ",");" и функция "fgets($handle, 1000000);"
как можно "добить" проблему - результат пока только такой - в интерфейсе импорта отображается русское название поля но данные таблички в сответствующие поля не импортируются. Импортируется только английский текст.
Повторю вопрос, что возвращают функции? из чего состоит в первом случае массив, а во втором случае строка?
для того чтобы понять как работает весь механизм мне не хватает мозгов.
пока я понял только то что если я создаю файл в кодировке UTF8 то ваш вариант не работает. если я блокнотом сохраняю файл в ansi то ок
http://drupal.org/node/137662
тоесть то что стало читаться сейчас это CSV column
То что не работает - данные в полях профиля после импорта остаются пустые. переносится только информация и названияя на английском
например если я в таблице в колонке с названием "город" укажу Москва то город в профиле пользователя не заполнится, если напишу Moscow все будет ок
ps друпал не выдает ошибку при импорте .
судя по тому что сейчас происходит - конвертируется только первая сточка csv с названиями колонок а сами данные не обрабатываются.
http://drupal.org/node/190437
нужно еще раз попробовать поредактировать 1033 и 1092
...
удалено
удалено