Page 1 sur 1

Configuré APACHE,PHP,SQL Avec UTF-8

Posté : 22 mars 2010, 21:39
par kopax
Salut,

J'ai suivi le tutorial pour faire un site en UTF-8

faq-tutoriels/encodage-utf-t245062.html

J'ai un problème au niveau de la configuration de Apache comme indiqué dans le tutorial :

Code : Tout sélectionner

AddDefaultCharset UTF-8 #ou AddDefaultCharset Off
Je n'ai pas dans mon fichier Apache httpd.conf (j'utilise WAMP 2.0) cette ligne.
J'ai fais une recherche dans tout le dossier de WAMP pour voir si cette ligne n'aurai pas été déplacé mais elle n'existe simplement pas.
Pour info j'utilise Apache 2.2.11.
Enfin cela ne devrai pas être génant car dans les metas, j'ai bien indiqué que la page devait être lu en UTF-8
<?xml version="1.0" encoding="UTF-8"?>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
J'ai également configuré ces lignes dans php.ini

Code : Tout sélectionner

default_charset = "UTF-8" iconv.input_encoding = UTF-8 iconv.internal_encoding = UTF-8 iconv.output_encoding = UTF-8 mbstring.language = UTF-8 mbstring.internal_encoding = UTF-8 mbstring.http_input = UTF-8 mbstring.http_output = UTF-8
Mes tables SQL ont bien été crée avec l'encodage utf8_general_ci.


D'après le tutorial :

Code : Tout sélectionner

Si la page affiche des caractères de ce type : "�" => Les données ont été enregistrées au format ISO, et le navigateur les affiche en pensant avoir affaire à de l'UTF-8.
Que faut il faire dans ce cas la si ça ne fonctionne toujours pas?
Si quelqu'un à une idée je suis preneur :P


Avec la fonction mb_detect_encoding
La page me renvoi que l'encodage utilisé est le ASCII
Mais avec mb_convert_encoding, j'essai de convertir de ASCII vers UTF-8, rien ne se passe, de auto vers UTF-8, j'obtiens cette erreur :
Warning: mb_convert_encoding() [function.mb-convert-encoding]: Unable to detect character encoding
Enfin de toute façon même si ca fonctionnai le but n'est pas d'utilisé cette fonction tout le long, mais apparemment j'ai un problème d'encodage

Re: Configuré APACHE,PHP,SQL Avec UTF-8

Posté : 22 mars 2010, 21:56
par stopher
Slt ,

Ce genre de paramétre est parfois déplacé selon la distribution , ou la solution XAMP installé ..

Par exemple, sous un linux , via les paquets , cette ligne se trouve dans un fichier nommé :
"charset" qui se trouve dans /etc/apache2/conf.d/

Apres rien ne t'empêche de l'ajouter cette ligne dans la conf de ton host principal ou Vhost .


Sinon , si tu as toujours des caractères mal interprétés , si ceux-ci viennent de ta base , une fois enregistré dans un format , le fait de juste changer le "collate" ou le charset de la base ne changera rien .

Tu dois avant de faire tout enregistrement soit le définir via la requête : SET NAMES 'utf8'

soit le définir directement dans le fichier de conf de mysql( my.cnf )

Code : Tout sélectionner

#Mise en UTF-8 default-character-set=utf8 default-collation=utf8 collation_server=utf8_general_ci character_set_server=utf8 skip-character-set-client-handshake
Voilà .. sinon rien de plus normalement ça devrait rouler ....

Sujet dans le même genre : php-avance/utf8-htmlentities-t250183.html

Ch.

Re: Configuré APACHE,PHP,SQL Avec UTF-8

Posté : 22 mars 2010, 22:04
par kopax
Merci, j'ai suivi tes instructions, ça fonctionne à merveille.

Étonnant que je n'ai pas pu trouvé ces commandes dans divers tutoriaux de divers sites. ;)

Re: Configuré APACHE,PHP,SQL Avec UTF-8

Posté : 23 mars 2010, 00:25
par AB
Merci, j'ai suivi tes instructions, ça fonctionne à merveille.

Étonnant que je n'ai pas pu trouvé ces commandes dans divers tutoriaux de divers sites. ;)
C'est parce qu'on essaye la plupart du temps de faire des réglages qui soient valables à la fois en local et sur un serveur distant y compris sur des mutualisés où l'on ne peut quasiment rien configurer :wink: