Задать вопрос
Mirgorod
@Mirgorod

PHPExcel и проблема с некоторыми русскими буквами. Как решить?

Здравствуйте, использую PHPExcel для массовой загрузки товаров на сайт. Изначально эксель хранится в ZIP-архиве, а потом скачивается на сервер, разрархивируется, обрабатывается и добавляется в базу данных.


Всё отлично, если бы не проблема с кодировками (боже, как я их люблю). В общем, когда я создаю Excel-файл у себя на Windows 7 в OpenOffice, то всё окей, товары сохраняются в правильной кодировке, но, если создавать Excel на Маке, в MS office, то почему-то в базу данных вместо кириллической буквы Й сохраняется И?.


Но ещё самое странное то, что если вывести на экран перед сохранением какую-то ячейку, в которой есть Й, то она и будет выводиться как Й, а не как И?, но после сохранения в БД она становится И?.

Хоть бери и заменяй после сохранения все И? на Й.


Заранее спасибо за ответы.


Версия PHPExcel — 1.7.2
  • Вопрос задан
  • 4171 просмотр
Подписаться 3 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 3
Banzeg
@Banzeg
PHPExcel тут, скорее всего, ни при чем. Использую эту библиотеку для схожих целей, была подобная проблема.
Я удовлетворился тем, что мои таблицы всегда создаются МСОфисом под вин, и в этом случае с кодировками все в порядке. LIbreOffice под Убунтой давал знаки вопросов вместо русских символов.
Ответ написан
notRly
@notRly
Возможно, проблема в кодировке. Проверьте внимательно кодировки xls файла, выставленные в php, выставленные в настройках PHPExcel (если они есть) и в БД
Ответ написан
notRly
@notRly
Имею ввиду не кодировку исходников, а внутреннюю кодировку скрипт, например php.net/manual/ru/function.mb-internal-encoding.php

Для PHPExcel надо проверить параметры кодировки его, посмотрите документацию, я точно не знаю.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы