Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Где глюки? В UTF-8 или Excel?

1.9K
10 июня 2005 года
kasap
168 / / 07.04.2005
Всем привет.
Прошу помочь мне разобраться, где искать загвоздку.
Дело в том, что возникла у меня задачка - создать конструктор для sql - запросов на сайте с возможностью последующего сохранения в формат excel. Сохраняю в формат excel простым отправлением заголовков.

header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Content-Type: application/vnd ms-excel");
header("Content-Transfer-Encoding: binary");
header("Content-Disposition: attachment; filename=query.xls");

Сначала все было нормально, пока запросы возвращали небольшое количество строк. Но потом, когда попробовал выбрать большой массив данных и сохранить их в excel - формате файл стал некорректно открываться. В экселе отборажалась полная абракадабра.
Стал рыться в иннете. Нашел инфу о том, что перед экспортом в excel данные лучше кодировать в UTF-8. Для этого нашел соответствующую функцию. Вроде бы она мне помогла. Но после экспериментов с запросами кодировка опять стала рушиться. Опять залез в иннет. Нашел более компактную функцию
 
Код:
iconv('CP1251','UTF-8',$s)

Она спасла на какое-то время, но потом зашел в тупик.

Кодировка рушится в Excele, если в ячейках присутствуют символы "+" или "-" (эти символы стопроцентно). При этом все отображается в чем-то непотребном.

Может быть кто-нибудь подскажет как с этим бороться. Если понадобится, я еще более детально все опишу. А забыл сказать, что у меня экспортируется таблица такого содержания:

Первый столбец название - пользователя и далее множество полей-статусов, где в ячейках находится лишь символы, соответсвующие "истине" или "лжи". У меня им соответсвовали знак "+" и "-". При этом выводя более 20 строк все рушилось. Тогда я заменил + и - на YES и NO. Тогда все встало на свои места. При этом ничего особого в 20 строке нет - в первом столбце название "Компания КомИнКом", а дальше у всех поля однообразны.

Подскажите, в чем может быть проблема и как все поправить.
Спасибо.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог