[bcn-pm] Perl.cat

Jaume Badiella myotis a drac.com
dij maig 7 12:33:30 PDT 2009


Efectivament.....

Jo em vaig trobar amb aquest problema a la feina. Si introdueixes dades
en Unicode en una base de dades MySQL, en principi t'insereix
correctament els caràcters, però et pots trobar sorpreses:
La primera és que, encara que sembli correcte, les dades no s'ordenen
correctament, i les cerques tampoc funcionen bé (és a dir, no fa les
coincidències entre caràcters accentuats i sense accentuar, etc).

Per treballar correctament amb Unicode en Mysql cal:

1) Que la base de dades estigui creada amb DEFAULT CHARACTER SET 'utf8'

2) Que a l'hora de treballar amb aquesta base de dades en Unicode cridem
SET NAMES 'utf8'

Configurant "default-character-set=utf8", com diu en TooMany Secrets
farà automàticament ambdues coses.

Ara bé, si -com jo- tens bases de dades amb codificacions diferents (p.
ex., latin1  i utf8), llavors has d'executar expressament "SET NAMES"
cada vegada per assegurar-te que utilitzes la codificació correcta.


En/na TooMany Secrets ha escrit:
> 2009/5/7 Alex Muntada <alexm a alexm.org>:
>> Inicialment tenia muntat el Movable Type amb SQLite i
>> després de moltes proves l'he reinstal·lat amb MySQL,
>> que segurament és el més habitual (tot i que jo sóc més
>> de PostgreSQL). La qüestió era tenir un entorn prou
>> habitual.
> 
> ¿Sabes si la base de datos se crea con un encoding determinado? (caso
> negativo borrar y crear forzando utf8)
> Por otra parte, también podría serte de ayudar poner esto en el my.cnf
> de config del mysql:
> 
> default-character-set=utf8


Jaume Badiella
-|
|-



Més informació sobre la llista de correu Barcelona-pm