|
|
|
Perl, чтение Excel, символы с диакритиками.
|
|||
|---|---|---|---|
|
#18+
Есть excel файл, в нём текст на 5ти языках (русский, английский, польский, чешский, словакский). Для справки: языки кроме русского и английского содержат символы с диакритиками (всякие чёрточки над/под буквами), поэтому в основном работа ведётся в UTF-8. Задача: через perl-скрипт получить данные из excel, вывести на вёб страницу в utf-8. Использую Spreadsheet::ParseExcel. Чётко по мануалу. Достигнутые результаты: 1) если использовать Spreadsheet::ParseExcel::FmtUnicode и в качестве карты использовать cp1251, затем по средствам Text::Iconv конвертировать значения полей в UTF8, то получаем русский текст (остальной ессно без диакритик). 2) если не использовать Spreadsheet::ParseExcel::FmtUnicode, брать полученные значения полей и далее $value = Encode::encode('utf8', $value); , то а) русский текст представляет что-то типа такого "5@A>=0;L=K9 8G=>9 @C??K" б) текст на остальных языках отображается на 80% корректно, т.е. некот. символы с диакритиками отображаются верно, некоторые заменяются квадратиками. Вопрос: как же всё-таки прочитать все символы корректно (пусть даже за неск.проходов)? Или хотя бы в какой кодировке возвращаются значения из excel по умолчанию? Перебрал дофига вариантов, пробовал конвертить с помощью Text::Iconv из большинства известных кодировок, результатов - никаких. Пробовал подобрать для Spreadsheet::ParseExcel::FmtUnicode карту, которая бы сохраняла диакритики, а потом из неё конвертить в utf, но таких тоже не нашёл. Благодарю за внимание. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2005, 21:49 |
|
||
|
|

start [/forum/topic.php?fid=23&fpage=486&tid=1478778]: |
0ms |
get settings: |
4ms |
get forum list: |
15ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
28ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
13ms |
get tp. blocked users: |
1ms |
| others: | 204ms |
| total: | 278ms |

| 0 / 0 |
