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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> PHPExcel и русская кодировка файлов из 1С 
:(
    Опции темы
Vardoulacha
Дата 25.11.2014, 14:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Вроде PHPExcel единственная нормальная библиотека для работы с xls файлами.

1. Приходит файл xls (предположительно его сгенерировал 1С).
2. Если его сначала открыть в Excel то видим русские символы, нажимаем Файл - Сохранить, файл немного меняет размер О_о
3. Открываем через PHPExcel все по русски, все гуд, кодировка UTF-8 (это видимо PHPExcel делает. молодец какой)

А вот если файл, как и положено, без левых открываний и сохранений. сразу открыть через PHPExcel то увидим вот такие строки
Код

Êîëè÷åñòâî ïî ñêëàäó: 00. Ñêëàä Óäàëåííûé


Это добивается вот такими настройками
Код

PHPExcel_Settings::setLocale('ru');
$objReader->setReadDataOnly(true);


Иначе вообще будет пусто на экране, ах да выводящий скрипт в кодировке utf-8, в начале скрипта делаю это
Код

header("Content-type: text/html; charset=UTF-8");


Перерыл информацию от гугля, но нашел только такие же вопросы, но никто так и не смог побороть эту проблему.

Открываем онлайн кодировщик
http://www.online-decoder.com/ru

Отдаем ему текст кракозябрами, жмем "Подбор" и они счастливый пишет "Я знаю нужные кодировки Windows-1252 => Windows-1251"
И результат показывает: "Количество по складу: 00. Склад Удаленный"

А я беру пишу такой скрипт, и получаю пустое окно ((
Код

header("Content-type: text/html; charset=UTF-8");

$str1 = 'Êîëè÷åñòâî ïî ñêëàäó: 00. Ñêëàä Óäàëåííûé<br>';
$str2 = iconv('windows-1252', 'windows-1251', $str1);
echo iconv('windows-1251', 'utf-8', $str2);


Помогите победить кодировку? Или может есть какой аналог PHPExcel но который нормально файлы русские открывает.
PM MAIL   Вверх
spbnvb
Дата 27.11.2014, 18:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



ну вообще то в 1С-ке utf-16, если не конвертировать программно в 1с-ке или php, что же, делайте это вручную.

Этот ответ добавлен с нового Винграда - http://vingrad.com
PM MAIL WWW   Вверх
Vardoulacha
Дата 3.12.2014, 08:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Цитата(spbnvb @  27.11.2014,  18:23 Найти цитируемый пост)
ну вообще то в 1С-ке utf-16

ааа, вон оно что, попробую конвертить utf-16 -> utf-8, спасибо

а так я вышел из ситуации путем замены библиотеки PHPExcel на Spreadsheet_Excel_Reader

теперь если прокатит конвертор из utf-16 то посмотрю какая либа работает быстрее (скорость мне важна)
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Libraries | Следующая тема »


 




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


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

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