Pages : 1
#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 Ãs;© 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
Pages : 1