Aller au contenu

Apache & Unicode UTF-8


Sujets conseillés

Posté

Bonjour à vous tous,

Je reviens encore vers vous pour vous demander une petite aide.

Jai crée un petit site en PHP/MySQL (Jutilise Easy PHP 1.7 + Win XP pour le test en local)

Etant donné que mon site est en bilingue (vietnamien et français), je suis obligé de mettre sur tous mes pages le charset=utf-8.

Jai crée aussi un formulaire dajout pour ajouter des articles dans mes pages web et un formulaire de modification pour modifier mes articles. Jusque là tout va bien !

Lorsque jessaie dajouter les articles écrits en Unicode par le formulaire dajout : Le problème se pose :

Effectivement il convertit tous mes textes par exemple :

- funérailles chrétiennes en Funérailles chrétiennes

- Phái đoàn Tòa thánh thăm Giáo Hội ViệtNam en Phái Äoà n Tà a thánh thÄm Giáo Há»i Viá»t

Pourtant lencodage de la page contenant le formulaire dajout et la page affichant larticle est bien en UTF-8.

Je narrive pas à trouver toute seule la réponse, veuillez maider sil vous plaît. Merci davance et joyeuse fête à vous tous.

hska

PS:

Il paraît que ce problème est lié à la configuration d'APACHE. Par défaut APACHE afiche le iso-8859-1. Il faut ajouter dans le fichier .htaccess ceux ci:

AddType text/html; charset=UTF-8 html

AddType text/plain; charset=UTF-8 txt

AddDefaultCharset utf-8

Mais j'ai essayé, mais ça ne marche toujours pas.

Help me please!

Merci

Posté

Bonjour hska,

Tu fais face à un bug connu dû à la suprématie de fait d'Internet Explorer.

Depuis l'origine, IE n'a pas tenu compte correctement du jeu de caractères UTF-8 :(

Une manière de détourner cette lacune est d'ajouter les attributs "enctype" et "accept-charset" aux formulaires, comme mentionné sur cette page du W3C

Posté

Concrètement on met où ces attributs ? J'ai un fichier en html avec le formulaire et un en php pour la réponse ...

Pardon pour ma question ... nulle. J'ai du mal à interpréter le W3C

Posté

Merci pour la rapidité de vos réponses.

D'après ce que j'ai compris, il faut ajouter ceux ci dans la balise FORM.

< FORM Method="post" enctype="text/plain" accept-charset="UTF-8">...............</FORM>

Est ce que vous pouvez me le confirmer?

Merci infiniment

HSKA

Posté
Merci pour la rapidité de vos réponses.

D'après ce que j'ai compris, il faut ajouter ceux ci dans la balise FORM.

< FORM Method="post" enctype="text/plain" accept-charset="UTF-8">...............</FORM>

Est ce que vous pouvez me le confirmer?

Merci infiniment

HSKA

Tout à fait ! Je n'ai pas testé personnellement mais cela devrait résoudre ton problème... espérons-le !

Posté

Merci Dan,

J'ai beau essayé mais ça ne marche toujours pas!

- Quand j'ajoute Entype : "Text/plain" et accept-charset="UTF-8"

Je n'arrive plus à insérer les données. Mon formulaire Ajout ne marche plus.

- Quand j'ajoute enctype="multipart/form-data" et accept-charset="UTF-8"

Mon formulaire Marche mais j'ai toujours le même problème d'encodage.

C'est vraiment bizarre non. ?

comment fait t on?

Merci encore

Posté

Une question idiote (peut-être): as tu défini UTF-8 comme jeu de caractères de ta page ?

As-tu essayé le enctype="application/x-www-form-urlencoded" au lieu du enctype="multipart/form-data" ou "text/plain" ?

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...