<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Unix4Me &#187; koi8-r</title>
	<atom:link href="http://unix4me.ru/archives/tag/koi8-r/feed" rel="self" type="application/rss+xml" />
	<link>http://unix4me.ru</link>
	<description>*nix</description>
	<lastBuildDate>Thu, 08 Apr 2010 11:22:56 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Изменение кодировки текстового файла</title>
		<link>http://unix4me.ru/archives/181</link>
		<comments>http://unix4me.ru/archives/181#comments</comments>
		<pubDate>Mon, 08 Sep 2008 12:22:43 +0000</pubDate>
		<dc:creator>sart</dc:creator>
				<category><![CDATA[Hackint0sh]]></category>
		<category><![CDATA[MacOS]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[cp-1251]]></category>
		<category><![CDATA[encoding]]></category>
		<category><![CDATA[koi8-r]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[terminal]]></category>
		<category><![CDATA[utf-8]]></category>
		<category><![CDATA[windows-1251]]></category>

		<guid isPermaLink="false">http://unix4me.ru/?p=181</guid>
		<description><![CDATA[Проблема кодировки текстового файла всегда была и насколько я понимаю будет еще долго. В винде используется стандарт - windows-1251(cp-1251), в большинстве юниксовых систем - koi8-r, в линуксовых системах, как правило - utf-8. В системе MacOS, как вы знаете, используется utf-8.

Когда работал в винде - использовал замечательную программу SkimEdit. В WinXP - можно заменить (в настройках [...]]]></description>
			<content:encoded><![CDATA[<p>Проблема кодировки текстового файла всегда была и насколько я понимаю будет еще долго. В винде используется стандарт - windows-1251(cp-1251), в большинстве юниксовых систем - koi8-r, в линуксовых системах, как правило - utf-8. В системе MacOS, как вы знаете, используется utf-8.<br />
<span id="more-181"></span><br />
Когда работал в винде - использовал замечательную программу <a href="http://www.skimsoft.com/">SkimEdit</a>. В WinXP - можно заменить (в настройках эта опция есть) стандартный блокнот этой прогой - тогда как в WinVista не советовал Вам этого делать - больше WinVista не загрузится корректно.</p>
<p>Но вот я перешел на MacOS и понял что на этой системе чтение текста в кодировки отличной от стандартной (utf-8) - настоящая проблема. Начал эксперименты с программами:</p>
<p>- Начал с популярной программы <a href="http://www.barebones.com/products/bbedit/">BBEdit</a> и также ее бесплатным аналогом <a href="http://www.barebones.com/products/textwrangler/">TextWrangler</a>. Пользовал довольно долго - но после последнего обновления избавился как от страшного сна. То что настройки сделаны просто через жопу, ftp и ssh клиенты мягко говоря странноваты - но после последнего апдейта посмотрел какие дополнительные символы вводит данный редактор при сохранение.... Короче отказался.</p>
<p>- Далее увидел графическую интерпретацию моего любимого терминального редактора vim - <a href="http://code.google.com/p/macvim/">Macvim</a>. Программа понравилась очень (живет до сих пор на компе). Куча приятных вещей: спокойно подхватила мой .vimrc из домашней директории, работает быстро, бесплатна и естественно все плюсы терминально vim'а. Но не совсем удобно открывать большие текстовые файлы (50-100 МБайт).</p>
<p>- Попробовал замечательную программу <a href="http://www.panic.com/coda/">Coda</a>. Удобна для работы через ftp и ssh, удобная настройка, приятно удаленно работать, как со своим сайтом, так и править скрипты. Таким образом программа оставила самые положительные эмоции - но опять же начинает жутко долго открывать текстовые файлы размером более 5 МБайт.</p>
<p>- Попробовал программу <a href="http://macromates.com/">TextMate</a>. Программа просто замечательная: работает бысто, гибкая в настройке, открывает файлы больших размеров просто моментально, куча мелких удобств. И опять минус - работает ТОЛЬКО с utf-8.</p>
<p>- Конечно использую встроеный в Leopard текстовый редактор <a href="http://en.wikipedia.org/wiki/TextEdit">TextEdit</a>. По умолчанию также открывает в utf-8, но при желании открывает и в других кодировках.</p>
<p>Далее подумал - может быть не пытаться открыть файл в другой кодировки, а перевести принудительно все текстовые фалы в utf-8. После некоторых раздумий решил написать скрипт для перевода файлов находящихся в нужной директории в кодировку utf-8. Сразу скажу спасибо <a href="http://www.macfaq.ru/index.php?action=artikel&#038;cat=60&#038;id=76&#038;artlang=ru">статье</a> - позволила съэкономит массу времени. Вот собственно скрипт:</p>
<p><code>#!/bin/bash<br />
#<br />
#<br />
if [ -z "$1" ]<br />
then<br />
echo 'Change encodings in /ПутьКПапкеПоУмолчанию/';<br />
find "/ПутьКПапкеПоУмолчанию/" -name "*.txt" | while read i; do iconv -f windows-1251 -t utf-8 "$i" >tmp; mv tmp "$i"; chmod 644 "$i"; done<br />
exit 1;<br />
else<br />
echo 'Change encodings in' $1;<br />
find "$1" -name "*.txt" | while read i; do iconv -f windows-1251 -t utf-8 "$i" >tmp; mv tmp "$i"; chmod 644 "$i"; done<br />
fi</code></p>
<p>Как видно из кода - скрипт запускатся с переменной. Переменная - это полный путь к папке с файлами необходимыми для перекодирования, либо, если переменная пустая, перекодировка совершается в ПапкеПоУмолчанию. Причем перекодируются все файлы с расширением txt, как в самой папке так и в подпапках.</p>
<p>Естественно если заменить windows-1251 на koi8-r будет происходить перекодирование из koi8-r в utf-8. Чтобы узнать все типы кодировок которые использует приложение iconv необходимо в терминале дать команду:</p>
<blockquote><p>iconv -l</p></blockquote>
<p>Далее - сохранил данный скрипт в файл с расширение .sh, в настройках сделал файл запускаемым и назначил открытие по умолчанию данного типа файлов программой Terminal.</p>
<p>Вот и все - теперь при необходимости перевожу нужные текстовые файлы в utf-8 и работаю с ними. Если необходимо отправлять файл пользователям винды - тем же скриптом (толька меняю местами utf-8 и windows-1251) перекодирую в windows-1251 и отравляю.</p>
]]></content:encoded>
			<wfw:commentRss>http://unix4me.ru/archives/181/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
