<?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>fxposter&#039;s wave &#187; CP1251</title>
	<atom:link href="http://blog.fxposter.org/tag/cp1251/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.fxposter.org</link>
	<description>Stories about Ruby, JavaScript, Objective-C and other cool tools</description>
	<lastBuildDate>Sun, 30 Oct 2011 20:00:54 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>jQuery, AJAX и CP1251</title>
		<link>http://blog.fxposter.org/2008/11/28/jquery-ajax-and-cp1251/</link>
		<comments>http://blog.fxposter.org/2008/11/28/jquery-ajax-and-cp1251/#comments</comments>
		<pubDate>Thu, 27 Nov 2008 22:05:15 +0000</pubDate>
		<dc:creator>fxposter</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[Программирование]]></category>
		<category><![CDATA[Работа]]></category>
		<category><![CDATA[Ajax]]></category>
		<category><![CDATA[CP1251]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://blog.fxposter.org/?p=585</guid>
		<description><![CDATA[Да, да, я знаю, что в наш век все уже давно перешли на использование utf-8 при построении веб-сайтов, но остались еще и такие, которые пользуються &#8220;допотопными&#8221;, &#8220;отстойными&#8221;, и вообще &#8220;не-тру&#8221; кодировками типа CP1251 (также известной как Windows-1251), KOI8-R и прочих. Ни для кого ни секрет, что кодировкой получаемых через Ajax данных по-умолчанию принимается UTF-8. Не [...]]]></description>
			<content:encoded><![CDATA[<p>Да, да, я знаю, что в наш век все уже давно перешли на использование utf-8 при построении веб-сайтов, но остались еще и такие, которые пользуються &#8220;допотопными&#8221;, &#8220;отстойными&#8221;, и вообще &#8220;не-тру&#8221; кодировками типа CP1251 (также известной как Windows-1251), KOI8-R и прочих.</p>
<p>Ни для кого ни секрет, что кодировкой получаемых через Ajax данных по-умолчанию принимается UTF-8. Не все знают, что это умолчание можно изменить, указав кодировку явно через заголовок &#8220;Content-Type: text/html; charset=cp1251&#8243;. Сегодня вот столкнулся с интересным багом, на который убил довольно много времени.</p>
<p>Сервер отдает некоторый текст по запросу (ajax) в кодировке CP1251, предварительно установив соответствующий заголовок - &#8220;Content-Type: text/html; charset=cp1251&#8243;. На клиенте использовалась библиотека jQuery:</p>
<pre><code class="javascript">$('#books').load('books.php', {action: 'list'});</code></pre>
<p>Всё работало замечательно&#8230; До тех пор, пока я не открыл страничку в IE7. Как ни странно, но ничего не загрузилось. После длительных раздумий, установки alert-ов куда нужно, и куда нет код был заменен следующим кодом:</p>
<pre><code class="javascript">$.ajax({
  method: 'get',
  url: 'books.php',
  success: function(data) {
    $('#books').html(data);
  },
  error: function(xhr, textStatus, errorThrown) {
    alert(textStatus);
  },
  data: {action: 'list'}
});</code></pre>
<p>В FF всё продолжало работать, а вот IE начал выдавать странную надпись &#8220;parsererror&#8221;. Гугление никаких результатов не дало - ни одного похожего случая&#8230; После, примерно, 10 минут попыток &#8220;запустить&#8221; страничку в IE, что-то меня дернуло посмотреть на серверный код. Глаза сразу упали на строку установки Content-Type-а. Недолго думая, я поставил charset=utf-8, и, о чудо, IE загрузил всё как положено (правда в неправильной кодировке, но всё же - уже плюс). Догадавшись в чем может быть дело, я установил кодировку в &#8220;windows-1251&#8243;, после чего всё заработало на ура.</p>
<p>Собственно, мораль сей басни такова - юзайте, люди, юникод, и будет вам счастье.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.fxposter.org/2008/11/28/jquery-ajax-and-cp1251/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Page Caching using disk: enhanced

Served from: blog.fxposter.org @ 2012-02-10 05:39:10 -->
