parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Ответ

Misha v.3 20.12.2006 00:12 / 20.12.2006 00:15

1. есть аж 3 способа задать кодировки при работе с sql: ?charset=..., ?ClientCharset=... и ^void:sql{SET NAMES=...} (правда первый и третий есть суть одно и тоже)

2. ручками указать что во что перекодировать вы с парсером не можете. при нормальных условиях парсер это делает сам: если вы указали $response:charset[utf-8] то парсер будет выдавать ваши html формы в utf и перекодировать приходящие данные из utf. когда вы загружаете данные с внешнего сайта вы можете указать парсеру чтобы он все перекодировал (если не скажете он перекодирует сам посмотрев на выданный content-type). если же внешний, неподвластный вам сайт шлет вам данные в неродной для вас кодировке, то хорошо сделать вы ничего не можете, даже если сегодня знаете кодировку, в которой работает тот сайт (а завтра ведь он может начать слать в unicode, а не utf-8). тем не менее что-то предпринять можете: создать отдельный документ-обработчик приходящих даных и указать у него нужный $response:charset

3. невозможно. вы должны нп этапе загрузки данных позаботиться о том чтобы все было в одной кодировке (если получаете даные из разных источников). при работе с внешними источниками парсер в большинстве случаев сделает это сам. если вы на своем сервере храните разные документы в разных кодировках - увы, облом. парсер не позволяет разводить бардак.

4, 5. согласно доке $.charset[] в mail:send включает перекодирование. если нужно просто выдать заголовок - $.content-type[...] (тоже есть в доке)