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


ru.cgi.perl

 
 - RU.CGI.PERL ------------------------------------------------------------------
 From : Artem Chuprina                       2:5020/400     24 Nov 2001  17:24:30
 To : Dmitry Kniginin
 Subject : Re: Кодиpовка
 -------------------------------------------------------------------------------- 
 
 Здравствуй, Dmitry Kniginin.
 
 DK>  Как осyществить сохpанение данных из фоpм в БД в одной кодиpовке, если
 DK>  данные из фоpм пеpедаються в pазных кодиpовках (напpимеp KOI8, WIN-1251)
 DK>  То есть если в кодиpовке WIN-1251 было пеpеданно "Слово", то чтобы по
 DK>  запpосy в кодиpовке KOI8R "Слово" было выданны соответствyющие данные.
 DK>  Где копать? Какие фyнкции позволяют спpавиться с этой пpоблемой?
 DK>  Пеpекодиpовкy делать вpyчню или это за меня делает Apache? Интеpесyют
 DK>  только методы пpавильные дающие 100% pезyльтат.
 
 К сожалению, 100% гарантий, что браузер отдал тебе данные в нужной кодировке,
 нет. И как правило (исключение - lynx) они не признаются, в какой кодировке
 они отправили форму. Это реальность, данная нам в ощущениях. Эмпирика, которой
 пользуется русский апач, если ему разрешить перекодировку, состоит в том, что
 в норме браузер отдает форму в той кодировке, в которой ему выдали страницу.
 Исключение - какие-то оперы. Поэтому максимум, что ты можешь - положиться на
 эту эмпирику, может быть, сделав исключение для опер. Далее, если у тебя
 данные приходят то так, то эдак, то скорее всего (исключение себе представляю,
 но если бы оно у тебя было, то либо ты сам бы знал, либо в инструкции было бы
 написано) у тебя русский апач, которому запрещено перекодировать входящие
 формы (обычно перекодировку отключают для multipart форм, но я видел варианты
 и с полным отключением). А значит, у тебя есть документированные у него
 переменные среды с подстрокой CHARSET, содержащие кодировку сервера и главное,
 кодировку клиента (сиречь ту кодировку, в которой мы клиенту собираемся данные
 отдавать, и в которой, согласно вышеизложенному, он нам, наверное, данные
 отдал). Я не помню, которую как зовут. Как перекодировать из кодировки клиента
 в кодировку, в которой ты с базой работаешь, объяснять?
 
 -- 
 Artem Chuprina
 RFC2822: <ran@ran.pp.ru>, FIDO: 2:5020/358.49, ICQ: 13038757
 
 /итд/почтопосылалка.нстрк (c)
 
 Отправлено через сервер Talk.Ru - http://www.talk.ru
 --- ifmail v.2.15dev5
  * Origin: Talk.Ru (2:5020/400)
 
 

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

 Тема:    Автор:    Дата:  
 Re: Кодиpовка   Artem Chuprina   24 Nov 2001 17:24:30 
 Кодиpовка   Dmitry Kniginin   01 Dec 2001 02:31:02 
 Кодиpовка   Andrej Ramaszeuski   05 Dec 2001 00:08:10 
Архивное /ru.cgi.perl/635974e6a09d.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional