Posts Tagged ‘перекодировка’

Меняем кодировки

Среда, Апрель 18th, 2012 Нет комментариев

Under : , , , ,

Основная русская кодировка в Linux — это koi8-r. Но иногда требуется работать с текстами в кодировке Windows (cp1251) и другими кодировками русского языка. Для просмотра текстов в кодировках, отличных от koi8-r, существует два способа:

1. Самый простой путь — это открыть этот текст в браузере и выбрать нужную кодировку. Это универсальный способ.
2. Использовать специальные программы для перекодировки русских текстов: (далее…)

Java и Unicode

Понедельник, Апрель 9th, 2012 Нет комментариев

Under : , , , , ,

Аннотация

Как известно, Java использует представление строк в формате Unicode. В этой статье речь пойдет о способах хранения и представления данных, записанных в разных кодировках.

Java по-русски

Написать java-апплет, выводящий приветствие на русском языке очень просто. Можно вставить строку с русским языком прямо внутрь текста класса:

 String labelName = "Привет!"; JLabel myLabel = new JLabel(labelName);  (далее...)

Trics and traps

Я так решил назвать эту часть,потому что это название больше всего соответствует.

Я вам в этой части расскажу о всяких тонких и неочевидных местах и о том как с этим боротся.

Продолжая тему отладки, я столкнулся с такой неочевидной проблеммой, помимо того,что надо перевести раскладку Windows (или DOS) в koi8-r На некоторых серверах (в том числе на нашем UIC’овском) скрипт все равно отказывался работать. Признаюсь ,хоть и разобрался в чем дело я быстро, причина весьма неочевидна: Дело в том,что текстовый файл Windows содержит перед символом перехода на новую строку еще символ возврата каретки. А вот из-за этого скрипт и отказывался выполнятся, что содержал этот символ!

Методом решения (этот процесс как и все я максимально автоматизирую) стал коротенький скрипт delcr .Просто «натравливайте» его на ваши скрипты:delcr *.cgi

#!/usr/bin/perl
#delcr
unless(@ARGV){die «Usage: delcr file ….\n»;}
foreach $file(@ARGV){
if(! -r $file || ! -w $file){print «$file: access denied\n»;}
else{
open F,»+<$file"|| die "Cannot open $file $!\n";
binmode F || die "Cannot binmode $file $!\n";
@D=;
seek F,0,0;
foreach(@D){
s/\r//g;
print F;
}
truncate F,tell(F);
close F;
}
}

Саму же взаимную перекодировку Doskoi-8Win поможет выполнить вот такая прога. Написал я ее очень давно, даже раньше чем занялся CGI программированием и с тех давних пор она меня все время выручала, став моим по-настоящему незаменимым и верным другом. Итак, знакомьтесь: txtconv -Утилита перевода раскладок символов.
(далее…)