<?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>Kynho Blog - Programação, Design, Web e afins. &#187; upload acentos</title>
	<atom:link href="http://www.kynho.com/blog/tag/upload-acentos/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.kynho.com/blog</link>
	<description>Blog do desenvolvedor web kynho.</description>
	<lastBuildDate>Fri, 22 Jul 2011 17:37:30 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Problema com acentos na classe upload do Codeigniter</title>
		<link>http://www.kynho.com/blog/2009/11/09/problema-com-acentos-na-classe-upload-do-codeigniter/</link>
		<comments>http://www.kynho.com/blog/2009/11/09/problema-com-acentos-na-classe-upload-do-codeigniter/#comments</comments>
		<pubDate>Tue, 10 Nov 2009 00:28:36 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[CodeIgniter]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[acentos upload codeigniter]]></category>
		<category><![CDATA[oop]]></category>
		<category><![CDATA[upload acentos]]></category>
		<category><![CDATA[upload codeigniter]]></category>

		<guid isPermaLink="false">http://www.kynho.com/blog/?p=48</guid>
		<description><![CDATA[Tentarei explicar de forma simples como resolver o problema que encontramos quando fazemos upload de arquivos com acentos usando a classe upload do codeigniter.
Não vou entrar em detalhes do funcionamento do framework neste post, desta forma  suponho que o leitor saiba que existem duas pastas libraries, uma dentro da pasta application e outra na pasta [...]]]></description>
			<content:encoded><![CDATA[<p>Tentarei explicar de forma simples como resolver o problema que encontramos quando fazemos upload de arquivos com acentos usando a classe upload do codeigniter.</p>
<p>Não vou entrar em detalhes do funcionamento do <a href="http://codeigniter.com/" target="_blank">framework</a> neste post, desta forma  suponho que o leitor saiba que existem duas pastas libraries, uma dentro da pasta application e outra na pasta system. Na librarie da pasta application geralmente temos as livrarias da nossa aplicação e também as livrarias extendidas da pasta librarie que fica dentro da pasta system, ufa.</p>
<p>Muitos aconselhariam fazer uma livraria extendida da classe Upload para não alterar a classe Upload do core. Eu particularmente preferi alterar direto no core já que retirar acentos de arquivos é  sempre necessário e deveria vir por padrão no <a href="http://codeigniter.com/" target="_blank">Codeigniter</a>.</p>
<p>Vamos a prática:</p>
<p>- Abra o arquivo Upload .php localizado na pasta libraries dentro da pasta system.</p>
<p>- Logo no inicio, abaixo de  &#8220;class CI_Upload {&#8221;  existem varias variáveis. Crie abaixo destas variáveis uma nova, exemplo:<br />
<code><br />
<span style="color: #00ffff;">var $remove_acentos    =  TRUE;</span><br />
</code><br />
o valor deve ser TRUE, indicando que esta função deve ser executada por default, ou seja por padrão toda vez que a classe for usada.</p>
<p>- O próximo passo é criar a função anterior. Esta função pode ser feita de diversas formas, escolhi a que julgo melhor:<br />
<code><br />
<span style="color: #00ffff;">if ($this-&gt;remove_acentos == TRUE)<br />
{<br />
$str = array('/[ÂÀÁÄÃ]/' =&gt; 'A',<br />
'/[âãàáä]/' =&gt; 'a',<br />
'/[ÊÈÉË]/' =&gt; 'E',<br />
'/[´`^~]/' =&gt; '_',<br />
'/[êèéë]/' =&gt; 'e',<br />
'/[ÎÍÌÏ]/' =&gt; 'I',<br />
'/[îíìï]/' =&gt; 'i',<br />
'/[ÔÕÒÓÖ]/' =&gt; 'O',<br />
'/[ôõòóö]/' =&gt; 'o',<br />
'/[ÛÙÚÜ]/' =&gt; 'U',<br />
'/[ûúùü]/' =&gt; 'u',<br />
'/ç/' =&gt; 'c',<br />
'/Ç/' =&gt; 'C',<br />
'/ñ/' =&gt; 'n',<br />
'/Ñ/' =&gt; 'ñ'<br />
);</span></code></p>
<p><span style="color: #00ffff;">$this-&gt;file_name = preg_replace(array_keys($str), array_values($str),$this-&gt;file_name);<br />
}</span></p>
<p>- Caso você ainda encontre problemas, pode ser por causa da codificação que esta usando, neste caso acrescente no final da função a função utf8_decode() do php , ficando assim:<br />
<code><br />
<span style="color: #00ffff;">$this-&gt;file_name = preg_replace(array_keys($str), array_values($str), utf8_decode($this-&gt;file_name));</span></code><br />
Este método funciona 100% e com isso os arquivos que forem enviados por upload no codeigniter não causarão mais erros.<br />
Qualquer duvida os comments estão ai :D</p>
<div class="translator-floating-panel" style="background: none repeat scroll 0% 0% #d9c6b6; border: 2px ridge #784f2b; bottom: auto; cursor: pointer; height: auto; left: 86px; margin: 0px; padding: 0px; position: fixed; right: auto; top: 95px; width: auto; z-index: 2147483647; opacity: 0.4; display: block;"></div>
]]></content:encoded>
			<wfw:commentRss>http://www.kynho.com/blog/2009/11/09/problema-com-acentos-na-classe-upload-do-codeigniter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

