Титла: Проблем с енкодинга при парсване на XLS таблица Публикувано от: Constantinff в Apr 30, 2009, 23:04 Ползвам този скрипт:
http://code.google.com/p/php-excel-reader/ за parse на xls файла: http://ns.naval-acad.bg/infocenter/razpisa.../sed%2016-1.xls И скрипта си работи , НО енкодинга се омазва В скрипта има един ред: Код: var $_defaultEncoding = "UTF8"; Който го сменям , но все се появяват маймуни , и то най-различни Ако може малко поможе ще съм много благодарен. ПС. Ако имате някакви други идеи за превеждане на по-горната екселска таблица във вид удобен за работа с PHP също ще помогнете много Благодаря! Титла: Re: Проблем с енкодинга при парсване на XLS таблица Публикувано от: romeo_ninov в May 01, 2009, 08:17 какъв е резултата ако ползваш UTF-16 или CP-1251
Титла: Re: Проблем с енкодинга при парсване на XLS таблица Публикувано от: Constantinff в May 01, 2009, 11:26 UTF-16
Код: ÿþ!& �N�o� �8� CP1251 Код: ÑÅÄÌÈÖÀ No 8 CP-1251 Код: [i]Не извежда текст[/i] Титла: Re: Проблем с енкодинга при парсване на XLS таблица Публикувано от: romeo_ninov в May 01, 2009, 12:16 UTF-16CP-1251 - промени шрифта Титла: Re: Проблем с енкодинга при парсване на XLS таблица Публикувано от: Constantinff в May 01, 2009, 16:13 Когато е CP-1251 никакъв текст не излиза
Ако махна тирето излизат маймуни! Титла: Re: Проблем с енкодинга при парсване на XLS таблица Публикувано от: romeo_ninov в May 01, 2009, 18:07 Когато е CP-1251 никакъв текст не излизаШрифта Титла: Re: Проблем с енкодинга при парсване на XLS таблица Публикувано от: dvasilev в May 02, 2009, 07:40 @romeo_ninov: Подходът "С правилния шрифт нямам нужда от енкодинг" едва ли е най-удачен.
@Constantinff: Макар и да нямам опит в парсването на xls файлове мисля, че имаш несъгласуваност с encoding-ите на страницата, която продуцираш, и резултата от въпросния скрипт. Така или иначе в xls файловете текстът се пази в unicode, така че този параметър би трябвало да указва в каква кодова таблица да се генерира html-то. Пробвай от browse-ра ръчно да смениш encoding-а на страницата на този, който си дал на скрипта и кажи какъв е резултата. Титла: Re: Проблем с енкодинга при парсване на XLS таблица Публикувано от: Constantinff в May 02, 2009, 09:58 Към момента съм пробвал всичките комбинации.
Като дам на скрипта да чете таблицата с UTF-8 излизат маймуните за който сайта: http://2cyr.com/decode/ казва че трябва да е windows-1251 Иначе от браузъра и мета таговете нищо не се получи, все маймуни и все казва че трябва да го сложа на windows-1251 Титла: Re: Проблем с енкодинга при парсване на XLS таблица Публикувано от: romeo_ninov в May 02, 2009, 14:57 @romeo_ninov: Подходът "С правилния шрифт нямам нужда от енкодинг" едва ли е най-удачен.няма проблем с енкодинга, има неподходящ шрифт!!! на сайта посочен в предишния пост при сорс ендкодинг 1251 и показано като 8859-1 показва че текста ÑÅÄÌÈÖÀ No 8 е СЕДМИЦА No 8 Титла: Re: Проблем с енкодинга при парсване на XLS таблица Публикувано от: Constantinff в May 02, 2009, 15:27 Ето тука е скрипта:
http://students-council.collegeofmarinestudies.com/kocb0/xls/example.php и реда за енкодинга е Код: $data = new Spreadsheet_Excel_Reader("example.xls",false,CP1251); Титла: Re: Проблем с енкодинга при парсване на XLS таблица Публикувано от: dvasilev в May 02, 2009, 18:13 @Constantinff: Има грешка в скрипта. Намираш
Код: $val = htmlentities($val); Код: $val = htmlentities($val, ENT_COMPAT, $this->_defaultEncoding); Титла: Re: Проблем с енкодинга при парсване на XLS таблица Публикувано от: Constantinff в May 02, 2009, 18:59 LOL
Перфектно! Мерси И ок, ще им пиша Титла: Re: Проблем с енкодинга при парсване на XLS таблица Публикувано от: Constantinff в May 05, 2009, 15:05 Още нещо.
Понеже текста от цялата таблица влиза в MySQL база данни , при collation на базата latin1_swedish_ci текста в нея се вижда като : ÑÅÄÌÈÖÀ No 8 и дори да я сменя на utf8 текста подължава да не се чете Предполагам че когато се извежда текста от таблицата на html страницата няма да има проблеми, но ако трябва да се търси в таблицата ? Титла: Re: Проблем с енкодинга при парсване на XLS таблица Публикувано от: dvasilev в May 05, 2009, 19:25 @Constantinff: Принципно проблемът може да се дължи на две неща. Първото е да character set -а на базата да не поддържа букви на кирилица. Другото е да не си задал правилна кодировка на връзката между php-скрипта и mysql сървъра.
Първото лесно се проверява като се закачиш на mysql сървъра от конзола и въвеждаш данни. За второто, гледай кодировката да е тази, която използваш за парсване на xls файла. |