Eliminate DRM!
Protect your freedom!

Symfony & utf-8

September 30, 2006 on 6:14 pm | In CMS - MVC, Open Source, PHP |

    Ultimamente sto studiando al struttura di Symfony e come al solito, quando si tratta di far comunicare PHP con MySql, viene sempre fuori qualche problemuccio. Questa volta si tratta dell’encoding dei caratteri, interpretati in modo diverso da PHP e da MySql. In particolare, se gli attributi del database sono configurati con charset encoding utf8_general_ci (o qualsiasi altro utf8) nel momento in cui viene effettuata una query da PHP a MySql è come se questa configurazione viene a mancare. Ci sono due soluzioni per risolvere il problema.

    Possiamo dire a MySql quale tipo di encoding utilizzare ogni volta che viene stabilita una connessione, in modo tale che possa "preparare" tutto il necessario affinchè la comunicazione sia corretta. In questo caso, editiamo il file di configurazione di MySql /etc/mysql/my.cnf e nella sezione [mysqld] aggiungiamo la dicitura init-connect=’SET NAMES utf8. Il vantaggio di questo metodo è che non dobbiamo più preoccuparci di niente. L’unico svantaggio è che se abbiamo altre applicazioni che utilizzano un encoding differente protremmo avere diversi problemi con i caratteri.

    Il secondo metodo sta nel richiamare SET_NAMES_UTF8 attraverso PHP ogni volta che facciamo una query. Possiamo utilizzare la soluzione descritta qui.

    Per quanto riguarda Symfony, se avete la versione 0.6.x si può risolvere la situazione in questo modo. Se avete una versione 0.7.x o maggiore è stato introdotto il parametro encoding nel file database.yml.

Per i curiosi, potete dare una lettura qui.

3 Comments »

RSS feed for comments on this post. TrackBack URI

  1. Sordillo è vero quello che dici, ma in realtà se te ne freghi di andare a guardare il db direttamente symfony si occupa lui di tirarti fuori i dati in maniera corretta…

    Comment by giorg — October 1, 2006 #

  2. Purtroppo a me non funzia :( Credo che sia un problema di versione si symfony, settaggi di apache, versione e settaggi di mysql e php.

    Comment by Santana — October 1, 2006 #

  3. Sei hai bisogno di aiuto su sta roba mi becchi sempre online e mail… io mi ci sono scontrato parecchio.. sai com’e', i cazzo di tedeschi qui… üöäßöäüß :-D :-D

    Comment by giorg — October 2, 2006 #

Leave a comment

XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>

Powered by WordPress with Pool theme design by Borja Fernandez.
Entries and comments feeds. Valid XHTML and CSS. ^Top^