<?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>Le blog de Bruno Caruso &#187; encodage</title>
	<atom:link href="http://www.brunocaruso.net/blog/tag/encodage/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.brunocaruso.net/blog</link>
	<description>Mon espace personnel</description>
	<lastBuildDate>Sat, 28 Jan 2012 06:35:38 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
		<item>
		<title>MySQL et PHP : problème d&#8217;encodage UTF-8 et ISO-8859-1</title>
		<link>http://www.brunocaruso.net/blog/2009/10/23/mysql-et-php-probleme-dencodage-utf-8-et-iso-8859-1/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=mysql-et-php-probleme-dencodage-utf-8-et-iso-8859-1</link>
		<comments>http://www.brunocaruso.net/blog/2009/10/23/mysql-et-php-probleme-dencodage-utf-8-et-iso-8859-1/#comments</comments>
		<pubDate>Fri, 23 Oct 2009 18:18:58 +0000</pubDate>
		<dc:creator>brunocaruso</dc:creator>
				<category><![CDATA[Développement Web]]></category>
		<category><![CDATA[encodage]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[phpmyadmin]]></category>
		<category><![CDATA[UTF-8]]></category>

		<guid isPermaLink="false">http://www.brunocaruso.net/blog/?p=207</guid>
		<description><![CDATA[Lorsqu&#8217;on créait des tables Mysql avec PhpMyAdmin (par exemple), elles sont créés par défaut avec l&#8217;encodage latin1 (ISO-8859-1). Même en convertissant manuellement les tables en UTF8, PHP interprète toujours les données de la table au format latin1, ce qui se traduit par des erreurs d&#8217;affichage sur les caractères spéciaux. Le fait que le fichier source [...]]]></description>
			<content:encoded><![CDATA[<p>Lorsqu&#8217;on créait des tables <strong>Mysql</strong> avec <strong>PhpMyAdmin</strong> (par exemple), elles sont créés  par défaut avec l&#8217;encodage <strong>latin1</strong> (ISO-8859-1).<br />
Même en convertissant manuellement les tables en <strong>UTF8</strong>, PHP interprète toujours les données de la table au format latin1, ce qui se traduit par des erreurs d&#8217;affichage sur les caractères spéciaux. </p>
<p>Le fait que le fichier source PHP ait UTF-8 comme encodage par défaut (paramètre définit dans <strong>Dreamweaver</strong>) et que le meta http-equiv=&#8221;Content-Type&#8221; est bien défini à text/html; <strong>charset=utf-8</strong> n&#8217;y changera rien.</p>
<h3>La solution :</h3>
<p>Après avoir établi la connexion à la base de données, on défini le type d&#8217;encodage via la fonction<br />
<code>mysql_set_charset("utf8");</code></p>
<p>Ce qui donne par exemple : </p>
<pre>class dBEx {
   private $dbh;
   private $encodage:

   function connect ($dbuser, $dbpassword, $dbname, $dbhost) {
      $this->dbh = @mysql_connect($dbhost, $dbuser, $dbpassword);
      $this->encodage = mysql_set_charset("UTF-8");
      ...
   }
...
}</pre>
<p>PHP et Apache affichent maintenant les caractères en UTF-8 tels quels dans la table.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.brunocaruso.net/blog/2009/10/23/mysql-et-php-probleme-dencodage-utf-8-et-iso-8859-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

