<?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>JulioGreff.net &#187; codificação</title>
	<atom:link href="http://juliogreff.net/tag/codificacao/feed/" rel="self" type="application/rss+xml" />
	<link>http://juliogreff.net</link>
	<description>A mesma web, um novo estilo de desenvolvimento</description>
	<lastBuildDate>Sat, 07 May 2011 17:07:10 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Codificação de Caracteres</title>
		<link>http://juliogreff.net/codificacao-de-caracteres/</link>
		<comments>http://juliogreff.net/codificacao-de-caracteres/#comments</comments>
		<pubDate>Mon, 26 Mar 2007 21:54:29 +0000</pubDate>
		<dc:creator>Julio Greff</dc:creator>
				<category><![CDATA[Diversos]]></category>
		<category><![CDATA[codificação]]></category>

		<guid isPermaLink="false">http://www.juliogreff.blog.br/?p=85</guid>
		<description><![CDATA[Mais um mini-post hoje. Tive um problema editando o novo tema hoje, pequeno problema com codificação. Quando, no WP, ficava UTF-8, os posts ficavam certos e o tema ficava errado. Beleza, mudei pra ISO-8859-1. Aí o post ficou errado. E a pergunta que vale 1 milhão: e agora, o que a gente faz? Pra quem [...]

<h3>Posts Relacionados</h3><ul><li><a href='http://juliogreff.net/utilizando-o-metodo-post/' rel='bookmark' title='Permanent Link: Utilizando o Método POST em Ajax'>Utilizando o Método POST em Ajax</a></li>
<li><a href='http://juliogreff.net/fim-ou-recomeco/' rel='bookmark' title='Permanent Link: Fim ou Recomeço?'>Fim ou Recomeço?</a></li>
<li><a href='http://juliogreff.net/pc-formatado-e-agora/' rel='bookmark' title='Permanent Link: PC formatado, e agora?'>PC formatado, e agora?</a></li>
<li><a href='http://juliogreff.net/voltando-ao-trabalho/' rel='bookmark' title='Permanent Link: Voltando ao Trabalho'>Voltando ao Trabalho</a></li>
<li><a href='http://juliogreff.net/vale-a-pena-arriscar-em-novas-tecnologias/' rel='bookmark' title='Permanent Link: Vale a pena arriscar em novas tecnologias?'>Vale a pena arriscar em novas tecnologias?</a></li>
</ul>]]></description>
			<content:encoded><![CDATA[<p>Mais um mini-post hoje. Tive um problema editando o novo tema hoje, pequeno problema com codificação. Quando, no WP, ficava UTF-8, os posts ficavam certos e o tema ficava errado. Beleza, mudei pra ISO-8859-1. Aí o post ficou errado.<br />
E a pergunta que vale 1 milhão: e agora, o que a gente faz? Pra quem nunca mexeu com codificação (eu sei, já devia ter estudado), confusão, xingamentos, palavras de baixo calão, alguns tabefes&#8230; Mas não resolveu. Lembrei de um post (nem li, mas lembrei do título) do Bernardo Rufino. Fui fuçar no DW (abandonei o Aptana, tive uns problemas com resolução e a tela ficava apertada).</p>
<p>A sacada é o seguinte: a cada novo arquivo que eu criava, ele codificava em ISO-8859-1, e o WP estava configurado para mostrar UTF-8. Só tive que criar todos meus arquivos de novo, agora em UTF-8, e tudo funcionou.</p>
<p>Pra quem tiver problema semelhante (do DW MX): Edit &#8211; Preferences &#8211; New Document &#8211; Default Encoding. Post rápido, sem graça e sem muita organização, só pra saber mesmo. Até!</p>


<h3>Posts Relacionados</h3><ul><li><a href='http://juliogreff.net/utilizando-o-metodo-post/' rel='bookmark' title='Permanent Link: Utilizando o Método POST em Ajax'>Utilizando o Método POST em Ajax</a></li>
<li><a href='http://juliogreff.net/fim-ou-recomeco/' rel='bookmark' title='Permanent Link: Fim ou Recomeço?'>Fim ou Recomeço?</a></li>
<li><a href='http://juliogreff.net/pc-formatado-e-agora/' rel='bookmark' title='Permanent Link: PC formatado, e agora?'>PC formatado, e agora?</a></li>
<li><a href='http://juliogreff.net/voltando-ao-trabalho/' rel='bookmark' title='Permanent Link: Voltando ao Trabalho'>Voltando ao Trabalho</a></li>
<li><a href='http://juliogreff.net/vale-a-pena-arriscar-em-novas-tecnologias/' rel='bookmark' title='Permanent Link: Vale a pena arriscar em novas tecnologias?'>Vale a pena arriscar em novas tecnologias?</a></li>
</ul>]]></content:encoded>
			<wfw:commentRss>http://juliogreff.net/codificacao-de-caracteres/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Utilizando o Método POST em Ajax</title>
		<link>http://juliogreff.net/utilizando-o-metodo-post/</link>
		<comments>http://juliogreff.net/utilizando-o-metodo-post/#comments</comments>
		<pubDate>Sat, 11 Nov 2006 15:07:32 +0000</pubDate>
		<dc:creator>Julio Greff</dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[Destaques]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[codificação]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[post]]></category>

		<guid isPermaLink="false">http://www.juliogreff.blog.br/?p=29</guid>
		<description><![CDATA[Como você já devia saber, o método GET só suporta o envio de 255 caracteres por vez. Com Ajax, isso costuma ser o suficiente, mas nem sempre. Em editores de texto, postagens em geral, cadastros, senhas (não é pelo tamanho, é que os dados não aparecem na URL)&#8230; Isso é conseguido por um método HTTP [...]

<h3>Posts Relacionados</h3><ul><li><a href='http://juliogreff.net/ajax-requisicoes-head/' rel='bookmark' title='Permanent Link: Ajax: Requisições HEAD'>Ajax: Requisições HEAD</a></li>
<li><a href='http://juliogreff.net/fila-de-requisicoes-em-ajax/' rel='bookmark' title='Permanent Link: Fila de Requisições em Ajax'>Fila de Requisições em Ajax</a></li>
<li><a href='http://juliogreff.net/ajax-sem-o-x/' rel='bookmark' title='Permanent Link: Ajax sem o X'>Ajax sem o X</a></li>
<li><a href='http://juliogreff.net/ajax-com-a-mootools/' rel='bookmark' title='Permanent Link: Ajax com a Mootools'>Ajax com a Mootools</a></li>
<li><a href='http://juliogreff.net/estatisticas-para-navegacao-via-javascript/' rel='bookmark' title='Permanent Link: Estatísticas para Navegação via JavaScript'>Estatísticas para Navegação via JavaScript</a></li>
</ul>]]></description>
			<content:encoded><![CDATA[<p>Como você já devia saber, o método GET só suporta o envio de 255 caracteres por vez. Com Ajax, isso costuma ser o suficiente, mas nem sempre. Em editores de texto, postagens em geral, cadastros, senhas (não é pelo tamanho, é que os dados não aparecem na URL)&#8230; Isso é conseguido por um método HTTP chamado &#8220;POST&#8221;. Possivelmente você já deve tê-lo usado, mas em Ajax&#8230;</p>
<p>Sim, é perfeitamente possível. Vamos lá então. Se você já tentou, provavelmente chegou perto de conseguir, algo como:</p>
<pre><code>var xmlhttp = setXmlHttp(); // Função Personalizada
xmlhttp.open("POST", "http://localhost/post.php", true);
xmlhttp.send("seus_dados=via_post");</code></pre>
<p>Essa é a base, mas não obteremos sucesso. Tudo o que fizemos, 100% mesmo, está correto. O problema é que falta mais alguma coisa. A primeira delas: o tipo de dados, não pode ser text/html ou text/xml, o padrão. O certo é o tipo de dados apropriado para envio de formulários: &#8220;application/x-www-form-urlencoded&#8221;. Vamos lá:</p>
<pre><code>var xmlhttp = setXmlHttp(); // Função Personalizada
xmlhttp.open("POST", "http://localhost/post.php", true);
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");	// Setando Content-type
xmlhttp.send("seus_dados=via_post");</code></pre>
<p>Tudo certo, irá funcionar. Pelo que sei, o método POST aceita uma quantidade enorme de dados, enorme mesmo. Tudo o que você tentar enviar passará. Não sei exatamente o quanto. Mas, por padrão, o tamanho máximo permitido é 4096, para evitar erros. Isso faz com que seus dados cheguem truncados as vezes. Setamos então um novo header: &#8220;Content-length&#8221;.</p>
<pre><code>var xmlhttp = setXmlHttp(); // Função Personalizada
xmlhttp.open("POST", "http://localhost/post.php", true);
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");	// Setando Content-type
xmlhttp.setRequestHeader("Content-length", dados_a_enviar.length); // Comprimento do conteúdo=comprimento dos dados a enviar
xmlhttp.send(dados_a_enviar);</code></pre>
<p>E agora sim estamos com tudo pronto para funcionar! Não falta mais nada.</p>
<p>É, na verdade falta apenas uma coisinha: como enviar os dados? Como você já viu, enviamos os dados através de <code>xmlhttp.send()</code>. Mas como? Lembra-se das famosas query strings? Da mesma maneira, mas sem o &amp; inicial.</p>
<h3 id="recebendo-os-dados">Recebendo os Dados</h3>
<p>Além de enviar os dados, também devemos recebê-los corretamente. Ensinarei usando o PHP, mas poderia ser usada qualquer outra linguagem server-side.</p>
<p>Na verdade, para recebermos os dados, usamos o <code>$_POST['variavel']</code>. Nada mais simples. Mas há um probleminha: &#8220;A AÇÃO DO AJAX É FANTÁSTICA&#8221; chegaria truncada, mais ou menos assim: &#8220;AÃ‡ÃƒO DO AJAX Ã‰ FANTÃSTICA&#8221;. Você saberia dizer por quê?</p>
<p>Por padrão, os dados são enviados, recebidos, manipulados e outras ações desconhecidas de minha pessoa no formato UTF-8. Por causa dos acentos, a língua portuguesa chegaria totalmente truncada, como mostrei acima. Solução: transformar para ISO-8859-1. Como?</p>
<pre><code>&lt;?php
header("Content-type: text/html; charset=iso-8859-1");	// Header
$var = utf8_decode($_POST['var']);	//Transformando caracteres
?&gt;</code></pre>
<p>Também poderíamos adicionar mais opções, como retirar tags e barras&#8230; Não vem ao caso.</p>
<p>Como muito bem sugerido pelo <a href="http://juliogreff.net/utilizando-o-metodo-post/#comment-17299">Mateus Pádua</a>, podemos decodificar todo o <code>$_POST</code> de uma vez só, utilizando o mapeamento de array:</p>
<pre><code>$_POST = array_map(utf8_decode, $_POST);</code></pre>
<p>Outro porém: alguns bancos de dados preferem o UTF-8 para trabalhar. Nesse caso, precisamos guardar os dados nesse formato. Poooooortanto, precisamos fazer o inverso: transformar de ISO-8859-1 para UTF-8. Isso se faz através da função PHP <code>utf8_encode(data)</code>.</p>
<p>Espero que tenha servido bem aos seus propósitos. Qualquer dúvida, comentem!</p>


<h3>Posts Relacionados</h3><ul><li><a href='http://juliogreff.net/ajax-requisicoes-head/' rel='bookmark' title='Permanent Link: Ajax: Requisições HEAD'>Ajax: Requisições HEAD</a></li>
<li><a href='http://juliogreff.net/fila-de-requisicoes-em-ajax/' rel='bookmark' title='Permanent Link: Fila de Requisições em Ajax'>Fila de Requisições em Ajax</a></li>
<li><a href='http://juliogreff.net/ajax-sem-o-x/' rel='bookmark' title='Permanent Link: Ajax sem o X'>Ajax sem o X</a></li>
<li><a href='http://juliogreff.net/ajax-com-a-mootools/' rel='bookmark' title='Permanent Link: Ajax com a Mootools'>Ajax com a Mootools</a></li>
<li><a href='http://juliogreff.net/estatisticas-para-navegacao-via-javascript/' rel='bookmark' title='Permanent Link: Estatísticas para Navegação via JavaScript'>Estatísticas para Navegação via JavaScript</a></li>
</ul>]]></content:encoded>
			<wfw:commentRss>http://juliogreff.net/utilizando-o-metodo-post/feed/</wfw:commentRss>
		<slash:comments>23</slash:comments>
		</item>
	</channel>
</rss>

