Je cherche à cibler un problème pour le résoudre de manière pérenne.
J'ai une base Mysql5 qui contient plusieurs dizaines de Mo de données.
Le serveur est une Gentoo préparée par OVH.
(Linux ns23268.ovh.net 2.4.33grs-bipiv-ipv4-32 #1 SMP lun oct 23
19:00:07 CEST 2006 i686 Intel(R) Pentium(R) 4 CPU 3.00GHz GNU/Linux)
La version installée par défaut est un PHP 4.4.2, compilé par OVH.
En raison de problèmes de fuites de mémoire, je suis en train de tenter
de recompiler PHP. J'ai fait mes essais avec une version 4.4.4.
Le but est d'utiliser la machine pour un forum phpBB tuné à très fort
traffic (la machine est à moitié à genoux !)
Ce forum phpBB stocke les données dans la base de données en UTF-8.
- Avec la version 4.4.2-OVH, les champs sont extraits en ISO-8859.
Mes pages étant dans le même jeu d'encodage, tout se passe bien.
- Avec ma version 4.4.4, tous mes accents ressortent de travers
(double caractère).
- Dans les deux cas, j'utilise le même php.ini (spécifié dans le
configure).
- Les "./configure ..." sont identiques (j'ai copié celui d'OVH pour
compiler ma version).
- J'utilise le même my.cnf (vu que je n'ai qu'une version de Mysql)
- php-config me donne exactement les mêmes sorties pour tous les
paramètres sauf --version.
Dans le my.cnf, je vois ça dans presque toutes les sections de
configuration du fichier :
character-sets-dir=/usr/share/mysql/charsets
default-character-set=latin1
Si je les enlève, les caractères accentués ne sont pas retranscrits
correctement, quelle que soit la version de PHP utilisée.
Qu'est-ce que je pourrais essayer pour trouver la cause de cette
différence de comportement ? Toutes les idées sont les bienvenues ;-)
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
thierry
Bonjour, bonjour,
Ce forum phpBB stocke les données dans la base de données en UTF-8. ---------------------------------------------------------------^
combinée avec les lignes suivantes c'est louche
configuration du fichier : character-sets-dir=/usr/share/mysql/charsets default-character-set=latin1 ----------------------------^
tu utilises le même serveur MySQL (physiquement je veux dire) sinon comment as tu fais le transfert des données ? tu as un dump de la structure d'une table sur le serveur OVH et sur ton éventuel nouveau serveur ?
Bonjour,
bonjour,
Ce forum phpBB stocke les données dans la base de données en UTF-8.
---------------------------------------------------------------^
combinée avec les lignes suivantes c'est louche
configuration du fichier :
character-sets-dir=/usr/share/mysql/charsets
default-character-set=latin1
----------------------------^
tu utilises le même serveur MySQL (physiquement je veux dire)
sinon comment as tu fais le transfert des données ?
tu as un dump de la structure d'une table sur le serveur OVH
et sur ton éventuel nouveau serveur ?
Ce forum phpBB stocke les données dans la base de données en UTF-8. ---------------------------------------------------------------^
combinée avec les lignes suivantes c'est louche
configuration du fichier : character-sets-dir=/usr/share/mysql/charsets default-character-set=latin1 ----------------------------^
tu utilises le même serveur MySQL (physiquement je veux dire) sinon comment as tu fais le transfert des données ? tu as un dump de la structure d'une table sur le serveur OVH et sur ton éventuel nouveau serveur ?
Jerome Blion
Bonjour, bonjour,
Ce forum phpBB stocke les données dans la base de données en UTF-8. ---------------------------------------------------------------^
combinée avec les lignes suivantes c'est louche
configuration du fichier : character-sets-dir=/usr/share/mysql/charsets default-character-set=latin1 ----------------------------^
tu utilises le même serveur MySQL (physiquement je veux dire) sinon comment as tu fais le transfert des données ? tu as un dump de la structure d'une table sur le serveur OVH et sur ton éventuel nouveau serveur ?
Bonjour,
J'utilise dans le même cas le même serveur physique. Le même serveur Apache. Le même serveur Mysql. Exactement la même base de données...
Bonjour,
bonjour,
Ce forum phpBB stocke les données dans la base de données en UTF-8.
---------------------------------------------------------------^
combinée avec les lignes suivantes c'est louche
configuration du fichier :
character-sets-dir=/usr/share/mysql/charsets
default-character-set=latin1
----------------------------^
tu utilises le même serveur MySQL (physiquement je veux dire)
sinon comment as tu fais le transfert des données ?
tu as un dump de la structure d'une table sur le serveur OVH
et sur ton éventuel nouveau serveur ?
Bonjour,
J'utilise dans le même cas le même serveur physique. Le même serveur
Apache. Le même serveur Mysql. Exactement la même base de données...
Ce forum phpBB stocke les données dans la base de données en UTF-8. ---------------------------------------------------------------^
combinée avec les lignes suivantes c'est louche
configuration du fichier : character-sets-dir=/usr/share/mysql/charsets default-character-set=latin1 ----------------------------^
tu utilises le même serveur MySQL (physiquement je veux dire) sinon comment as tu fais le transfert des données ? tu as un dump de la structure d'une table sur le serveur OVH et sur ton éventuel nouveau serveur ?
Bonjour,
J'utilise dans le même cas le même serveur physique. Le même serveur Apache. Le même serveur Mysql. Exactement la même base de données...
Jerome Blion
Suite des épisodes...
- Après un mysqldump complet : iconv -c --from-code=UTF-8 --to-code=ISO-8859-15 -o simplage_iso.sql simplage.sql
==> Les accents ne sont plus affichés sur les pages phpBB ! Et en plus, j'ai une ligne incohérente dans mes INSERT...
- Après un mysqldump de la structure seule : sed 's/latin1/utf8/g' simplage_structure.sql > simplage_structure-data.sql
J'importe ma structure, puis mes données...
==> Les accents sont mal rendus avec ma 4.4.4 quel que soit le contenu de my.cnf
Je vais me tirer un plomb. En attendant, je vais recompiler la toute dernière release PHP, ça va me détendre !
Si vous avez des idées... Faites vous plaisir, je sèche !
Suite des épisodes...
- Après un mysqldump complet : iconv -c --from-code=UTF-8
--to-code=ISO-8859-15 -o simplage_iso.sql simplage.sql
==> Les accents ne sont plus affichés sur les pages phpBB ! Et en plus,
j'ai une ligne incohérente dans mes INSERT...
- Après un mysqldump de la structure seule : sed 's/latin1/utf8/g'
simplage_structure.sql > simplage_structure-data.sql
J'importe ma structure, puis mes données...
==> Les accents sont mal rendus avec ma 4.4.4 quel que soit le contenu
de my.cnf
Je vais me tirer un plomb. En attendant, je vais recompiler la toute
dernière release PHP, ça va me détendre !
Si vous avez des idées... Faites vous plaisir, je sèche !
- Après un mysqldump complet : iconv -c --from-code=UTF-8 --to-code=ISO-8859-15 -o simplage_iso.sql simplage.sql
==> Les accents ne sont plus affichés sur les pages phpBB ! Et en plus, j'ai une ligne incohérente dans mes INSERT...
- Après un mysqldump de la structure seule : sed 's/latin1/utf8/g' simplage_structure.sql > simplage_structure-data.sql
J'importe ma structure, puis mes données...
==> Les accents sont mal rendus avec ma 4.4.4 quel que soit le contenu de my.cnf
Je vais me tirer un plomb. En attendant, je vais recompiler la toute dernière release PHP, ça va me détendre !
Si vous avez des idées... Faites vous plaisir, je sèche !
Jerome Blion
Suite des épisodes...
- Après un mysqldump complet : iconv -c --from-code=UTF-8 --to-code=ISO-8859-15 -o simplage_iso.sql simplage.sql
==> Les accents ne sont plus affichés sur les pages phpBB ! Et en plus, j'ai une ligne incohérente dans mes INSERT...
- Après un mysqldump de la structure seule : sed 's/latin1/utf8/g' simplage_structure.sql > simplage_structure-data.sql
J'importe ma structure, puis mes données...
==> Les accents sont mal rendus avec ma 4.4.4 quel que soit le contenu de my.cnf
Je vais me tirer un plomb. En attendant, je vais recompiler la toute dernière release PHP, ça va me détendre !
Si vous avez des idées... Faites vous plaisir, je sèche !
OK après avoir fouillé de partout, j'ai commencé à sérieusement me poser des questions sur le client Mysql. Quand je me connecte sur le serveur Mysql avec mysql administrator, les caractères étaient bien dans le bon jeu d'encodage.
Ce qui me laissait supposer que soit PHP soit le client Mysql me les convertissait.
Après une recherche dans le script mysqlbug, j'ai vu la ligne de configure de compilation... Et des UTF8 de partout dans la ligne.
Après les avoir enlevé et recompilé Mysql tout propre, ça fonctionne au poil, quelle que soit la version de PHP... Donc, j'ai mis la mienne :D
Youpi, ça marche.
Gentoo, je te hais !!! Jérôme.
Suite des épisodes...
- Après un mysqldump complet : iconv -c --from-code=UTF-8
--to-code=ISO-8859-15 -o simplage_iso.sql simplage.sql
==> Les accents ne sont plus affichés sur les pages phpBB ! Et en plus,
j'ai une ligne incohérente dans mes INSERT...
- Après un mysqldump de la structure seule : sed 's/latin1/utf8/g'
simplage_structure.sql > simplage_structure-data.sql
J'importe ma structure, puis mes données...
==> Les accents sont mal rendus avec ma 4.4.4 quel que soit le contenu
de my.cnf
Je vais me tirer un plomb. En attendant, je vais recompiler la toute
dernière release PHP, ça va me détendre !
Si vous avez des idées... Faites vous plaisir, je sèche !
OK après avoir fouillé de partout, j'ai commencé à sérieusement me poser
des questions sur le client Mysql.
Quand je me connecte sur le serveur Mysql avec mysql administrator, les
caractères étaient bien dans le bon jeu d'encodage.
Ce qui me laissait supposer que soit PHP soit le client Mysql me les
convertissait.
Après une recherche dans le script mysqlbug, j'ai vu la ligne de
configure de compilation... Et des UTF8 de partout dans la ligne.
Après les avoir enlevé et recompilé Mysql tout propre, ça fonctionne au
poil, quelle que soit la version de PHP... Donc, j'ai mis la mienne :D
- Après un mysqldump complet : iconv -c --from-code=UTF-8 --to-code=ISO-8859-15 -o simplage_iso.sql simplage.sql
==> Les accents ne sont plus affichés sur les pages phpBB ! Et en plus, j'ai une ligne incohérente dans mes INSERT...
- Après un mysqldump de la structure seule : sed 's/latin1/utf8/g' simplage_structure.sql > simplage_structure-data.sql
J'importe ma structure, puis mes données...
==> Les accents sont mal rendus avec ma 4.4.4 quel que soit le contenu de my.cnf
Je vais me tirer un plomb. En attendant, je vais recompiler la toute dernière release PHP, ça va me détendre !
Si vous avez des idées... Faites vous plaisir, je sèche !
OK après avoir fouillé de partout, j'ai commencé à sérieusement me poser des questions sur le client Mysql. Quand je me connecte sur le serveur Mysql avec mysql administrator, les caractères étaient bien dans le bon jeu d'encodage.
Ce qui me laissait supposer que soit PHP soit le client Mysql me les convertissait.
Après une recherche dans le script mysqlbug, j'ai vu la ligne de configure de compilation... Et des UTF8 de partout dans la ligne.
Après les avoir enlevé et recompilé Mysql tout propre, ça fonctionne au poil, quelle que soit la version de PHP... Donc, j'ai mis la mienne :D