Как Указать Кодировку Для Скрипта Perl?

Статус
Закрыто для дальнейших ответов.

Ivan

суперМодератор
Регистрация
10.01.2007
Сообщения
316
Ситуация такая: первые программы пришу и выполняю в ДОС.
Сам текст набирается из под Винды, ну и windows-1251 само-собой.
При работе в ДОС (DOS 866) русский текст, естественно, преобразуется в кракозябру.

Можно ли решить проблему средствами Perl? Типа указать как-то в самом листинге?
 

v0rbis

selfcoded
Регистрация
02.05.2005
Сообщения
923
пиши на латиннице _или_ редактируй текст в дос-редакторах _или_ сохраняй скрипт после набора в винде в любую другую кодировку и работай прозрачно с этим.
 

Ivan

суперМодератор
Регистрация
10.01.2007
Сообщения
316
Гм..
v0rbis, ты только не ругайся, я ещё мало соображаю в серверном программировании. Но:
Если у меня хост под UNIX, скрипт Perl (насколько я понимаю) д.б. написан под koi8-r. Т.к. выполняться он на серваке должен.
Однако хост виртуальный, и выдаёт страницы клиенту в windows-1251.
Если передавать данные методом post, то текст будет передан скрипту в той же кодироке, что и полученный HTML-документ. То бишь в windows-1251.
Поймёт ли скрипт то, что получил? И как это решают? Я думал, что простой строкой в листинге... такой крутой язык и на тебе...

ЗЫ. Об этой галиматье я задумался, когда DOS не понял windows-1251. Конечно, позже я пойму до конца, что спросил, но ответ лучше знать заранее.
 

v0rbis

selfcoded
Регистрация
02.05.2005
Сообщения
923
я ещё мало соображаю в серверном программировании.
я тоже

Если у меня хост под UNIX, скрипт Perl (насколько я понимаю) д.б. написан под koi8-r. Т.к. выполняться он на серваке должен.
koi8 ето олдскул. ньюскул это utf8 (и разновидности).

Однако хост виртуальный, и выдаёт страницы клиенту в windows-1251.
Если передавать данные методом post, то текст будет передан скрипту в той же кодироке, что и полученный HTML-документ. То бишь в windows-1251.
Поймёт ли скрипт то, что получил? И как это решают? Я думал, что простой строкой в листинге... такой крутой язык и на тебе...
и что? входящие-выходящие данные можно конвертнуть тем же iconv'ом. ежели ты полностью страницы делаешь
то так же как и в пыхпых отдаешь серваку заголовок с кодировкой страницы. но полностью страница на перле это атавизм какойто.
на перле удобно писать системные скрипты небольшого объема (по моей жизни судя)

Об этой галиматье я задумался, когда DOS не понял windows-1251.
приятно что ктото еще помнит что не всегда была свиста.


з.ы. перл под вынь извратъ
 

kavkaz

Новичок
Регистрация
15.11.2007
Сообщения
2
Rico, интересно а зачем тебе средствами Perl перевести кодировку в dos? только ради просмотра результата?

если мне не изменяет память можно в виндовой командной строке просто перевести кодировку на вин1251... например командой
chcp 1251
обратно в досовскую:
chcp 866
 

medwoodu

Злобный модер
Регистрация
22.12.2005
Сообщения
1 418
Отвечая на самый первый вопрос: нельзя, только пользуя iconv.
Второй вопрос про виртуальных хост: сервер выдает заголовок ответа, если iis то не знаю, если апач, то надо в заголовок вывести "Content-Type: text/html; CHARSET=utf8"
соответствующая кодировка
Если вы хотите выполнять скрипт как обычное приложение, то тогда языки меняются сменой локали в баше
 
Статус
Закрыто для дальнейших ответов.
Верх Низ