Главная страница


ru.unix.bsd

 
 - RU.UNIX.BSD ------------------------------------------------------------------
 From : Alex L Demidov                       2:5051/17      19 Sep 2005  15:24:29
 To : All
 Subject : mod_charset_lite в apache2
 -------------------------------------------------------------------------------- 
 
 скрипта перекодируется. 
 
 При upload'е файла через этот скрипт возникает следующая проблема: 
 
 Если в этом файле встречаются символы, которые есть в Windows-1251, но
 которых нет в KOI8-R (например левые и правые кавычки), получаем 500
 Internal Server Error и запись в логе 
 (22)Invalid argument: xlate filter - returning error.
 
 Hасколько я понял, проблема в том, что mod_charset_lite для
 перекодирования использует iconv, который по умолчанию в случае
 невозможности однозначной трансляции символов возвращает ошибку.
 
 Проблему пока решил вставив в соответствующее место в
 apr_xlate_conv_buffer из srclib/apr-util/xlate/xlate.c вызов 
 iconvctl(convset->ich, ICONV_SET_DISCARD_ILSEQ, &one) 
 который подсмотрел в коде iconv(1)
 
 Hо текущее решение меня не очень устраивает, поскольку: 
 а) символы просто отбрасываются, а этому конкретном CGI-скрипту как раз
    нужны кавычки.
 б) нет уверенности что этот патч сделан корректно и в какой-то момент не
    уронит сервер.
 
 Поэтому возникают следующие  вопросы к общественности:
 1) Известны ли другие решения этой проблемы? Меня бы устроило нечто, что
    знает только Windows-1251 и KOI8-R, но транслирует без потери
    символов, преобразую те левые и правые кавычки к обычным кавычкам.
    Плюс еще хотелось бы чтобы контент перекодировался и выдавался в той
    кодировке, которая указана в Accept-Charset в запросе, а не в той
    кодировке, которая указана в конфиге сервера через DefaultCharset.
 
 2) Судя по датам новостей на http://apache.lexa.ru/ нормального русского
    апача для версии 2.0 ожидать не приходится?
 
 -- 
 Alex L. Demidov (ALD9-RIPE).
 --- ifmail v.2.15
  * Origin: Home (2:5051/17@fidonet)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 mod_charset_lite в apache2   Alex L Demidov   19 Sep 2005 15:24:29 
 mod_charset_lite в apache2   Ilya Kulagin   20 Sep 2005 09:30:28 
Архивное /ru.unix.bsd/8956f3736a35.html, оценка 3 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional