Aller au contenu

[resolu]Debian etch + php + mysql + utf 8


Messages recommandés

Bonjour,

je rencontre un soucis qui m'arrache les cheveux depuis plusieurs jours ...

Impossible d'avoir des caracteres correcte !

Quand j'interroge la base de donnée en ligne ce commande mysql et que j'affiche les entrées à l'ecran tout est correct . Par contre dans phpMyAdmin ou autre site comme joomla 1.5 affiche des choses du genre:

""

La province de Toulouse est constituée de cinq couvents situés à Bordeaux, Toulouse, Montpellier, Marseille et Nice, et de plus petites communautés à La Sainte ­Baume, à Prouilhe, au Pérou, en Haïti et à La Réunion. Le noviciat est au couvent de Marseille. Le deuxième temps de la formation (philosophie) est au couvent de Bordeaux. La théologie s'étudie à Toulouse. Notre Province compte à ce jour un peu plus de 170 frères.

""

Détails de l'installation:

- Debian 4 passé en UTF-8 avec la commande dpkg-reconfigure locale.

Voici le résultat de la commande locale:

""

LANG=fr_FR.UTF-8
LC_CTYPE="fr_FR.UTF-8"
LC_NUMERIC="fr_FR.UTF-8"
LC_TIME="fr_FR.UTF-8"
LC_COLLATE="fr_FR.UTF-8"
LC_MONETARY="fr_FR.UTF-8"
LC_MESSAGES="fr_FR.UTF-8"
LC_PAPER="fr_FR.UTF-8"
LC_NAME="fr_FR.UTF-8"
LC_ADDRESS="fr_FR.UTF-8"
LC_TELEPHONE="fr_FR.UTF-8"
LC_MEASUREMENT="fr_FR.UTF-8"
LC_IDENTIFICATION="fr_FR.UTF-8"
LC_ALL=

""

Dans apache2 j'ai verifié que /etc/apache2/conf.d/charset contienne:

AddDefaultCharset UTF-8

En desespoir de cause j'ai ajouté ceci dans /etc/php5/php.ini

""

; Langage par défaut
mbstring.language=UTF-8

; Jeu de caractère interne
mbstring.internal_encoding= UTF-8

; Jeu de caractères par défaut pour les données d'entrée HTTP
mbstring.http_input=UTF-8

; Jeu de caractères par défaut pour les données de sortie HTTP
mbstring.http_output=UTF-8

; Ordre de détection des jeux de caractères
mbstring.detect_order= auto

""

Mais rien a faire toujours le meme soucis ...

Une chose qui m'interpelle est dans les variables du serveur mysql:

""

character set client utf8
(Valeur globale) latin1
character set connection utf8
(Valeur globale) latin1
character set database latin1
character set filesystem binary
character set results utf8
(Valeur globale) latin1
character set server latin1
character set system utf8
character sets dir /usr/share/mysql/charsets/
collation connection utf8_unicode_ci
(Valeur globale) latin1_swedish_ci
collation database latin1_swedish_ci
collation server latin1_swedish_ci

""

D'ou sort ce latin 1 ? J'ai rien vu de tel dans la configuration mysql.

Voici la page en question:

http://91.121.157.88/

Le phpinfo() est dispo ici:

http://91.121.157.88/test.php

Merci de votre précieuse aide !

Lien vers le commentaire
Partager sur d’autres sites

jtablesession::Store Failed

DB function failed with error number 1146

Table 'dominicagate.jos_session' doesn't exist SQL=INSERT INTO `jos_session` ( `session_id`,`time`,`username`,`gid`,`guest`,`client_id` ) VALUES ( 'c13ff1ea40d81cb1fb5ddb911de653cd','1219412114','','0','1','0' )

:eeek2:

Est ce que dans la base, les données sont encodées correctement ?

Est ce que ta page web a le bon charset ?

Lien vers le commentaire
Partager sur d’autres sites

Si j'ai bien compris, les variables MySQL indiquent que les caractères sont encodés en Latin-1 dans la base de données. Je te conseillerais donc de vérifier à quoi correspondent exactement ces variables, et faire les changements qui s'imposent si nécessaire. À noter que les bases de données présentes sur le serveur MySQL ne sont pas obligées de suivre les réglages globaux, à condition que l'encodage soit précisé au moment de la création de la base.

Mais vu que tu es en full UTF-8, modifier les réglages globaux est sans doute la solution la plus propre. Tu risques de devoir convertir toutes les chaînes de caractères de ta base par contre, je doute que MySQL réencode tout quand on change ses paramètres.

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...