PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
dropoff
Отправлено: 23 Мая, 2017 - 23:39:22
Post Id



Посетитель


Покинул форум
Сообщений всего: 300
Дата рег-ции: Дек. 2010  


Помог: 0 раз(а)




Всем привет.

Есть скрипт который генерирует XLS документ используя Spreadsheet::WriteExcel (не знаю как правильно эта библиотека называется).

После генерации, на компьютере открывает файл нормально и кодировка не летит. А вот на смартфонах кодировка кривая.

В БД данные в UTF8.
Файл который генерирует в UTF8 без бом.

При генерации данные проходят через

Заголовки при генерации в файл

PHP:
скопировать код в буфер обмена
  1.   header("Content-type: application/vnd.ms-excel; charset=windows-1251");
  2.   header("Content-Disposition: attachment; filename=price.xls");
  3.   header("Expires: 0");
  4.   header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
  5.   header("Pragma: public");


На компах все норм, на смартфоне.. Iphone и приложение Excel открывает криво, аналогично и на Android. Данные таблиц с форматированием, CSV не подходит. Переписывать на другой библиотеке - очень много и не хотелось бы. Покопался в интернете, но что-то ничего толкового не нашел вообще(
 
 Top
andrewkard
Отправлено: 24 Мая, 2017 - 17:00:56
Post Id


Частый посетитель


Покинул форум
Сообщений всего: 901
Дата рег-ции: Нояб. 2014  


Помог: 19 раз(а)




dropoff пишет:
После генерации, на компьютере открывает файл нормально и кодировка не летит.

Система, офис?
 
 Top
dropoff
Отправлено: 24 Мая, 2017 - 18:38:24
Post Id



Посетитель


Покинул форум
Сообщений всего: 300
Дата рег-ции: Дек. 2010  


Помог: 0 раз(а)




офис.

вопрос в том, как на мобильном открывать в кодировке нормальной.
 
 Top
andrewkard
Отправлено: 24 Мая, 2017 - 21:00:00
Post Id


Частый посетитель


Покинул форум
Сообщений всего: 901
Дата рег-ции: Нояб. 2014  


Помог: 19 раз(а)




Excel , OpenOffice, LibreOffice читают? Наверное все же что то неправильное пишется. Может имеет смысл разархивировать/просмотреть редактором файлы, тот то Вы записали и тот что читается, может что то станет ясным.
Может поможет: https://stackoverflow[dot]com/questi[dot][dot][dot]-bom-doesnt-work
 
 Top
dropoff
Отправлено: 27 Мая, 2017 - 17:53:25
Post Id



Посетитель


Покинул форум
Сообщений всего: 300
Дата рег-ции: Дек. 2010  


Помог: 0 раз(а)




Точно. OpenOffice открывает криво.
Из всех вариантов, только сам офис открывает в правильной кодировке. Все остальные криво.
Вот дела...
 
 Top
Мелкий Супермодератор
Отправлено: 27 Мая, 2017 - 17:55:09
Post Id



Активный участник


Покинул форум
Сообщений всего: 11478
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 554 раз(а)




А если писать нормальный utf8, то мс офису крышу сносит?


-----
Если вы не знаете, почему это работает, вероятно, оно и не работает на самом деле. (С.Макконнелл)...
 
 Top
andrewkard
Отправлено: 27 Мая, 2017 - 20:11:17
Post Id


Частый посетитель


Покинул форум
Сообщений всего: 901
Дата рег-ции: Нояб. 2014  


Помог: 19 раз(а)




Мелкий пишет:
А если писать нормальный utf8, то мс офису крышу сносит?

нет, нужно bom сначала вписать, тогда открывает норм
Цитата:

// Add BOM to fix UTF-8 in Excel
fputs($fp, chr(0xEF) . chr(0xBB) . chr(0xBF) );

После это Excel открывает сразу в правильной кодировке. Иначе кракозябры.
 
 Top
dropoff
Отправлено: 27 Мая, 2017 - 20:50:00
Post Id



Посетитель


Покинул форум
Сообщений всего: 300
Дата рег-ции: Дек. 2010  


Помог: 0 раз(а)




Мелкий пишет:
А если писать нормальный utf8, то мс офису крышу сносит?

кириллица криво.

Походу тут библиотека сама такая. Или я криворукий. Уже что только не пробовал из рекомендаций. Только офис и открывает все нормально(
 
 Top
andrewkard
Отправлено: 27 Мая, 2017 - 23:36:04
Post Id


Частый посетитель


Покинул форум
Сообщений всего: 901
Дата рег-ции: Нояб. 2014  


Помог: 19 раз(а)




dropoff пишет:
Походу тут библиотека сама такая. Или я криворукий. Уже что только не пробовал из рекомендаций. Только офис и открывает все нормально(


прорвемся Улыбка
 
 Top
dropoff
Отправлено: 29 Мая, 2017 - 10:15:54
Post Id



Посетитель


Покинул форум
Сообщений всего: 300
Дата рег-ции: Дек. 2010  


Помог: 0 раз(а)




Больше времени потерял на поиски решения.

Переписал все на PHPExcel. Хоть и прожорлив он, но работает корректно и функций море))

Спасибо всем за участие!
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Кодировки и все смежное »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB