|
fgetcsv не отображает кириллицу
|
|||
---|---|---|---|
#18+
NT Man, Код: plaintext 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
06.02.2011, 19:03 |
|
fgetcsv не отображает кириллицу
|
|||
---|---|---|---|
#18+
Тогда мой код Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
... |
|||
:
Нравится:
Не нравится:
|
|||
06.02.2011, 19:06 |
|
fgetcsv не отображает кириллицу
|
|||
---|---|---|---|
#18+
В догонку исходная кодировка csv какая? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.02.2011, 19:07 |
|
fgetcsv не отображает кириллицу
|
|||
---|---|---|---|
#18+
windows 1251 как ексель сохраняет... может я как то не так делаю, я пытаюсь настроить компонент джумлы импорта таблиц и в файлах компонента я нашел что отвечает за преобразования кодировки Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22.
я так понимаю мне просто нужно написать так Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25.
но так не работает(, кирилица отображается нормально только, если перед ней идет хоть 1 латинский символ ... |
|||
:
Нравится:
Не нравится:
|
|||
06.02.2011, 19:28 |
|
fgetcsv не отображает кириллицу
|
|||
---|---|---|---|
#18+
Спааааасибо, помогло))) я ведь не разобрался сначала, что к чему, я ж говорю тока начал учить php, а теперь все прочитал, вдумался в код и переделал свой и теперь работает))) ... |
|||
:
Нравится:
Не нравится:
|
|||
06.02.2011, 20:05 |
|
fgetcsv не отображает кириллицу
|
|||
---|---|---|---|
#18+
SovaBarmak, Кирилические символы бери в кавычки и будет щастье! ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2011, 14:26 |
|
fgetcsv не отображает кириллицу
|
|||
---|---|---|---|
#18+
Та же проблема. Не выводятся строки если первый символ русская буква. Добавил iconv - стало выводить "NULL" :-( http://stretchfilm.byethost13.com/2006-2011.php Кто может сказать в чем ошибка? phpinfo(): http://stretchfilm.byethost13.com/phpinfo.php Accept-Charset windows-1251,utf-8;q=0.7,*;q=0.3 csv-файл в ANSI: http://stretchfilm.byethost13.com/1.csv Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2012, 10:53 |
|
fgetcsv не отображает кириллицу
|
|||
---|---|---|---|
#18+
Admin_Vlad, вы мое сообщение 10192716 читали вообще? Ваша ошибка что вы в UTF-8 переводите текст после разбора а надо до. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2012, 10:59 |
|
fgetcsv не отображает кириллицу
|
|||
---|---|---|---|
#18+
Да, читал несколько раз. Объясните пожалуйста "на пальцах" ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2012, 11:17 |
|
fgetcsv не отображает кириллицу
|
|||
---|---|---|---|
#18+
Admin_Vlad, 1) У меня fopen открывает не файл а поток в памяти на запись. Код: php 1.
2) В этот созданный поток в памяти я сохраняю файл перекодированный в UTF-8 Код: php 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2012, 11:23 |
|
fgetcsv не отображает кириллицу
|
|||
---|---|---|---|
#18+
Слишком лаконично... Так? Код: php 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2012, 11:29 |
|
fgetcsv не отображает кириллицу
|
|||
---|---|---|---|
#18+
Admin_VladСлишком лаконично... Так? Код: php 1. 2. 3.
Я вижу бред, fopen возвращает файловый дескриптор для работы таких функций как fgetcsv , файловый дескриптор != string и его нельзя засовывать в iconv для конвертации. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2012, 11:34 |
|
fgetcsv не отображает кириллицу
|
|||
---|---|---|---|
#18+
Я понимаю, что бред. Не могли бы Вы запостить рабочий отрывок для чтения из .csv? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2012, 11:38 |
|
fgetcsv не отображает кириллицу
|
|||
---|---|---|---|
#18+
Admin_VladЯ понимаю, что бред. Не могли бы Вы запостить рабочий отрывок для чтения из .csv? 10192716 ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2012, 11:40 |
|
fgetcsv не отображает кириллицу
|
|||
---|---|---|---|
#18+
Без php://memory этого не сделать? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2012, 11:52 |
|
fgetcsv не отображает кириллицу
|
|||
---|---|---|---|
#18+
Проблему решил с помощью вот этой библиотечки: http://forum.dklab.ru/viewtopic.php?t=9549 Код: php 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2012, 11:56 |
|
fgetcsv не отображает кириллицу
|
|||
---|---|---|---|
#18+
Admin_VladБез php://memory этого не сделать? нет ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2012, 11:56 |
|
fgetcsv не отображает кириллицу
|
|||
---|---|---|---|
#18+
NT Man, Большое-пребольшое спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2012, 14:00 |
|
fgetcsv не отображает кириллицу
|
|||
---|---|---|---|
#18+
На больших объемах данных php://memory лучше заменить на php://temp ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2012, 14:23 |
|
fgetcsv не отображает кириллицу
|
|||
---|---|---|---|
#18+
большой обьем, это от скольки? или php://temp лучше в любом случае? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2012, 07:35 |
|
fgetcsv не отображает кириллицу
|
|||
---|---|---|---|
#18+
Если кому интересно. у меня fgetcsv тоже не воспринимал кириллицу. Воспринимал только если в строке(между ; ) стояли цифры или точка - то после этих символов кирилица писалАсь. что я сделал: на сервере выполнил: localedef -c -i ru_RU -f CP1251 ru_RU.CP1251 в файле php написал setlocale(LC_ALL, "ru_RU.CP1251"); все. после этого все замечательно стало читаться. Если у вас не свой сервер то ... не знаю :) ... |
|||
:
Нравится:
Не нравится:
|
|||
02.08.2012, 00:02 |
|
fgetcsv не отображает кириллицу
|
|||
---|---|---|---|
#18+
NT Man, Ну просто сразу помогло! Чудно! Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2014, 23:20 |
|
fgetcsv не отображает кириллицу
|
|||
---|---|---|---|
#18+
Может кому пригодится. Написал свою функцию для обработки строки в массив csv Обращаться почти так же: ($str=fgetreadcsv($file))!==false Со своим разделителем и экранированием: ($str=fgetreadcsv($file,$разделитель;$экранирование))!==false По умолчанию ; и " Поддерживает перенос строк в экранированной ячейке: 1;2;"строка с переносом строк";3;кириллица В случае ошибки в синтаксисе строки вернёт пустую строку, в случае конца файла вернёт false. Файл должен быть utf-8. К сожалению кодировку нельзя менять построчно. function fgetreadcsv(&$file,$delimiter=';',$ecran='"'){ $mas=array(); $open=false; $cell=''; do{ $s=fgets($file); if($s!==false){ $col=strlen($s); $k=0; while($k<$col){ if($open){ if($s[$k]==$ecran){ if($k+1==$col){ $mas[]=$cell; $cell=''; $open=false; }else{ if($s[$k+1]==$ecran){ $cell.=$s[$k]; $k++; }else{ if($s[$k+1]==$delimiter){ $open=false; }else{ $mas=''; $k=$col; }; }; }; }else{ $cell.=$s[$k]; }; }else{ if($s[$k]==$delimiter){ $mas[]=$cell; $cell=''; if($k+1==$col){ $mas[]=$cell; }; }else{ if($s[$k]==$ecran){ if($cell!=''){ $mas=''; $k=$col; }else{ $open=true; }; }else{ $cell.=$s[$k]; if($k+1==$col){ $mas[]=$cell; $cell=''; }; }; }; }; $k++; }; }else{ $mas=false; }; }while($open); return $mas; }; ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2018, 10:16 |
|
fgetcsv не отображает кириллицу
|
|||
---|---|---|---|
#18+
Lion28, Поправка. После $col=mb_strlen($s); Добавить while($col>0 && ($s[$col-1]=="\n" || $s[$col-1]=="\r")){$col-=1;}; А если сам файл php имеет кодировку window-1251 то после if($s!==false){ Добавить $s=iconv('utf-8', 'Windows-1251', $s); ... |
|||
:
Нравится:
Не нравится:
|
|||
26.07.2018, 08:42 |
|
|
start [/forum/topic.php?fid=23&msg=37819643&tid=1460219]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
35ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
others: | 336ms |
total: | 466ms |
0 / 0 |