<?xml version="1.0" encoding="ISO-8859-1"?>
<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>Linux, PHP, MySQL, Windows, C# &#187; cirillico</title>
	<atom:link href="http://www.massimo-caselli.com/tag/cirillico/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.massimo-caselli.com</link>
	<description>Articoli, news e pillole sul mondo LAMP e l&#039;opensource. Pillole di C#</description>
	<lastBuildDate>Mon, 30 Jan 2012 15:36:37 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1</generator>
		<item>
		<title>Soluzione problemi codifica caratteri in MySQL/PHP</title>
		<link>http://www.massimo-caselli.com/2006/01/28/soluzione-problema-codifica-caratteri-mysql/</link>
		<comments>http://www.massimo-caselli.com/2006/01/28/soluzione-problema-codifica-caratteri-mysql/#comments</comments>
		<pubDate>Sat, 28 Jan 2006 20:19:44 +0000</pubDate>
		<dc:creator>maxgrante</dc:creator>
				<category><![CDATA[MySQL, DB Server]]></category>
		<category><![CDATA[PHP il turbo nel web]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[cirillico]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[problemi caratteri]]></category>
		<category><![CDATA[utf8]]></category>

		<guid isPermaLink="false">http://www.massimo-caselli.com/2006/01/28/soluzione-problema-codifica-caratteri-mysql/</guid>
		<description><![CDATA[Buongiorno a tutti, innanzitutto cominciamo ad inquadrare il problema e a fare presente che se ora sono in grado di scrivere questo articolo  grazie al supporto che ho ricevuto sul forum di HTML.IT da parte di Leandro Luccerini, per contatti: leandro980[AT]libero[DOT]it PREMESSE AL PROBLEMA mysql versione &#62; 4.1.x Tipo di encoding delle pagine web [...]]]></description>
			<content:encoded><![CDATA[<p>Buongiorno a tutti,<br />
innanzitutto cominciamo ad inquadrare il problema e a fare presente che se ora sono in grado di scrivere questo articolo  grazie al supporto che ho ricevuto sul forum di HTML.IT da parte di Leandro Luccerini, per contatti: leandro980[AT]libero[DOT]it</p>
<p><strong>PREMESSE AL PROBLEMA</strong></p>
<ul>
<li><a target="_blank" href="http://www.mysql.com">mysql</a> versione &gt; 4.1.x</li>
<li>Tipo di encoding delle pagine web <a target="_blank" href="http://www.php.net">php</a> utf8</li>
</ul>
<p><strong>DESCRIZIONE PROBLEMA</strong></p>
<p>La situazione problematica nasce nel momento in cui abbiamo un sito web che deve gestire caratteri extra latini, per esempio nel mio caso ho affrontato questo problema dovendo realizzare un sito in <strong>lingua russa</strong>, ovvero utilizzando il <strong>cirillico</strong>.<br />
Il mio approccio alla situazione e&#8217; stato quello di realizzare <strong>TUTTE le pagine web con codifica utf8</strong> e database, tabelle e campi di testo utf8 a loro volta.<br />
La cosa che mi ha fatto impazzire e capirci veramente poco per diverso tempo e&#8217; che se io inserivo nel database caratteri cirillici come ad esempio (ÐŸÑ€Ð¸Ð²ÐµÑ‚ &#8211; ciao) e da <strong>PhpMyADMIN</strong> (di seguito PMA) vedevo male, idem il dump, mentre quando tiravo su i dati da applicativo tutto funzionava a meraviglia.<br />
Capitava l&#8217;inverso con PMA, ovvero se inserivo in cirillico su PMA e visualizzavo da PMA tutto bene, via applicazione niente.</p>
<p><strong>SOLUZIONE</strong></p>
<p>Prima di tutto vi invito a leggervi questa parte di manualistica online di <a target="_blank" href="http://www.mysql.com">mysql</a>, <a title="MySQL charset connection" href="http://dev.mysql.com/doc/refman/4.1/en/charset-connection.html" target="_blank">CHARSET.</a></p>
<p>Sostanzialmente sui server <a target="_blank" href="http://www.mysql.com">mysql</a> di sistemi di hosting italiani (ma credo anche americani)  e comunque in generale, l&#8217;impostazione del <strong>default_character_set</strong>  impostata a latin1.<br />
Ma anche qualora sia impostata ad utf8 quando via script <a target="_blank" href="http://www.php.net">php</a> ci connettiamo al database <a target="_blank" href="http://www.mysql.com">mysql</a> la nostra <strong>sessione di default</strong> (nonostante la pagina sia encodata utf8) sar  attivata con <strong>character set latin1</strong>, cosa succede quindi, che i dati e le query che inviamo sfasano e il sistema memorizza erroneamente i dati.</p>
<p>Di fatto il comportamento giusto lo ha PMA, dobbiamo cercare quindi di emularlo.<br />
Per farlo basta di fatto lanciare dopo ogni connessione la seguente query: <strong>SET NAMES utf8</strong><br />
Cos facendo la connessione tra client e server sar  UTF8.</p>
<p><strong>CONCLUSIONE</strong></p>
<p>Per concludere possiamo dire che per siti che trattano lingua standard europee come italiano, inglese, francese etc&#8230; possiamo avere tutto il <strong>DB latin1</strong>, connessione <strong>client server latin1</strong> ed encoding <strong>ISO-8859-1</strong></p>
<p>Nel caso di siti con<strong> cirillico, arabo etc&#8230;</strong> utilizziamo tutto il <strong>database UTF8</strong>, <strong>encoding delle pagine UTF8</strong> e soprattutto dobbiamo eseguire per sicurezza la query sopra indicata dopo <strong>ogni connessione con <a target="_blank" href="http://www.mysql.com">mysql</a></strong>.</p>
<p>Mi scuso per non essere stato molto chiaro in alcuni punti, purtroppo questo argomento  complesso e fastidioso&#8230;<br />
Se avete suggerimenti sono benvenuti.</p>
<p>Ciao a tutti. Max<br />
info[AT]massimo-caselli[DOT]com</p>
]]></content:encoded>
			<wfw:commentRss>http://www.massimo-caselli.com/2006/01/28/soluzione-problema-codifica-caratteri-mysql/feed/</wfw:commentRss>
		<slash:comments>22</slash:comments>
		</item>
	</channel>
</rss>

