Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 12/04/2008, à 11:42

Dougui

codage en UTF-8 ?

Pour un site d'un photo j'aurais besoin de créer des dossiers d'envoyer des photos (c'est fort logique). Mon script marche sauf que si j'envoie une photo contenant un "é" dans son nom il me la traduit en é soit &Atildes;© au lieu de é aprés un HTMLentities().
Dans mes page HTML il suffit que je dise de coder en UTF-8 pour que ça marche sans problémes, mais en PHP j'ai essayé, rien n'y fait.

J'ai mi ceci dans mon PHP.ini

[mbstring]
; language for internal character representation.
mbstring.language = UTF-8

; internal/script encoding.
; Some encoding cannot work as internal encoding.
; (e.g. SJIS, BIG5, ISO-2022-*)
mbstring.internal_encoding = UTF-8

; http input encoding.
mbstring.http_input = UTF-8

; http output encoding. mb_output_handler must be
; registered as output buffer to function
mbstring.http_output = UTF-8

; enable automatic encoding translation according to
; mbstring.internal_encoding setting. Input chars are
; converted to internal encoding by setting this to On.
; Note: Do _not_ use automatic encoding translation for
;       portable libs/applications.
mbstring.encoding_translation = On

; automatic encoding detection order.
; auto means
mbstring.detect_order = auto

et ça dans ça inclue dans tout mes fichiers PHP :

header ("content-type: text/htmlsl; charset=UTF-8;");
mb_http_output('UTF-8');

mais rien n'y fait. Comment régler mon probléme ?

Merci, a bientôt.

Hors ligne

#2 Le 12/04/2008, à 20:13

Carton

Re : codage en UTF-8 ?

la fonction htmlentities traite de l'iso-8859-1 par défaut.
À toi de préciser, en troisième argument, l'encodage, si différent.
string htmlentities  ( string $string  [, int $quote_style  [, string $charset  [, bool $double_encode  ]]] )

$quote_style définit le mode de traitement des doubles et simple quotes et peut prendre les valeurs suivantes :
ENT_COMPAT : ça convertit les doubles quotes, mais pas les simples
ENT_QUOTES : ça convertit et les doubles, et les simples
ENT_NOQUOTES : ça convertit aucun des deux.

$charset est ton charset, dans ton cas UTF-8

$str = htmlentities($str, ENT_QUOTES, "UTF-8");

Dernière modification par Carton (Le 12/04/2008, à 20:16)

Hors ligne