Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> UNICODE vs ANSI, проблема опознования кодировки 
V
    Опции темы
xoslv
Дата 3.9.2008, 22:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 195
Регистрация: 12.1.2007

Репутация: нет
Всего: нет



Код

            header('Content-Transfer-Encoding: UTF-8');
            header('Content-type: application/vnd.ms-excel');
            header('Content-disposition: attachment; filename="atskaite.csv"');
            header('Content-length: '.strlen($this->content));
            print $this->content;

перед запросом стоит: mysql_query("SET NAMES `utf8`");
код который пишет в CSV файл. В Notepad++ вижу, что формат ANSI as UTF-8.
Как сделать чтобы был полностью UTF? Иначе тупой Excel не понимает, что ему пихают...

Заранее спасибо.
--------------------
Не всё то маздай, что синее!
PM MAIL ICQ   Вверх
skyboy
Дата 4.9.2008, 00:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



Цитата(xoslv @  3.9.2008,  21:17 Найти цитируемый пост)
ANSI as UTF-8

это и есть данные в кодировке UTF. только без BOM.
PM MAIL   Вверх
xoslv
Дата 4.9.2008, 09:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 195
Регистрация: 12.1.2007

Репутация: нет
Всего: нет



И как тогда конвертнуть полученный от сервера ответ из UTF-8 в UTF-BOM, средствами php?
--------------------
Не всё то маздай, что синее!
PM MAIL ICQ   Вверх
skyboy
Дата 4.9.2008, 10:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



Цитата(xoslv @  4.9.2008,  08:45 Найти цитируемый пост)
И как тогда конвертнуть полученный от сервера ответ из UTF-8 в UTF-BOM, средствами php? 

отдать перед основным текстом значение BOM?
PM MAIL   Вверх
xoslv
Дата 4.9.2008, 11:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 195
Регистрация: 12.1.2007

Репутация: нет
Всего: нет



Ну наверное да?! 
Я уже попробовал через PEAR-> Spreadsheet_Excel_Writer, там вообще ANSI.
Соответственно, кривой язык, с кревыми буквами не отоброжается корректно!
Что можно придумать?! Посоветуйте что-нибудь?! Уже реально устал биться....
--------------------
Не всё то маздай, что синее!
PM MAIL ICQ   Вверх
xoslv
Дата 4.9.2008, 12:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 195
Регистрация: 12.1.2007

Репутация: нет
Всего: нет



Всё! Ура! Нашёл решение!
мануалы и этот форум, золотая жила для программера!
вот какой код у меня заработал:
Код

        $doc = new Spreadsheet_Excel_Writer();
        $doc->setVersion(8);
        $doc->send('Atskaite.xls');
        $dsheet = $doc->addWorksheet('Atskaite');
        $dsheet->setInputEncoding('utf-8');
        while ($load=mysql_fetch_assoc($PPRsel)) {
            $i++;
            $pprc = explode(" ",$load['ppr_num']);
            $firm = mysql_fetch_assoc(sqlgo("SELECT `name`,`type` FROM `client` WHERE `id`='".$load['fid']."'"));
            $dsheet->write($i,0,stripslashes($firm['name'])." ".$ftype[$firm['type']]);
            $dsheet->write($i,1,date("d.m.Y",mktime(0,0,0,date($load['mount']),date($load['day'])-1,date($load['year']))));
            $dsheet->write($i,2,$payment[$load['p_type']]);
            $dsheet->write($i,3,$load['m_vo_pvn']);
            $dsheet->write($i,4,$load['m_road']);
            $dsheet->write($i,5,$load['m_pvn']);
            $dsheet->write($i,6,$load['m_total']);
            $dsheet->write($i,7,(is_numeric($pprc[0]) ? "" : $pprc[0]));
            $dsheet->write($i,8,(empty($pprc[1]) ? $pprc[0] : "'".@$pprc[1]));
        }                                                                                                                                                               $doc->close();


Данные в таблице хранятся в UTF-8, формат базы и таблиц - utf8_general_ci.
Огромное спасибо всем кто решал такие проблемы ранее и  skyboy'ю  smile 
--------------------
Не всё то маздай, что синее!
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1373 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.