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 10/02/2007, à 09:27

tekman54000

[RESOLU] encodage page php

Salut a tous,

J'ai un petit soucis, je suis developpeur d'un plugin firefox. Mon plugin sert a mieux apprendre l'anglais grace a une liste de proverbes qui sont traduit dans differentes langues. Pour cela j'utilise une base mysql, apache, et une page php au format xml...

Cependant, la je dois ajouter des langues comme le turque par ex. Mais je ne vois pas trop comment on peut faire concorder les differents encodage sur une meme page (et deja si c'est possible lol) afin de faire une page de requete centralisée.
Est ce qu'il y aurait parmi un master of php pour m'aider un ti peu?! lol

Merci d'avance.

Dernière modification par tekman54000 (Le 21/02/2007, à 10:37)


------------------------------------------------------------------------------------------------
"The day Microsoft makes something that doesn’t suck is probably the day they start making vacuum cleaners"  Ernst Jan Plugge
------------------------------------------------------------------------------------------------

Hors ligne

#2 Le 10/02/2007, à 12:44

Enjoy Aspirin

Re : [RESOLU] encodage page php

Je ne programme pas en php mais ca ne marche pas de mettre de l'unicode pour l'ensemble de la page ?

#3 Le 10/02/2007, à 14:03

tekman54000

Re : [RESOLU] encodage page php

je ne sais pas parce que l'interclassement de mes tables est placé en fonction de la langue utilisé. C'est pour ca, sur ma page XML, j'ai plusieurs codage...Mais bon je ne sais pas trop je vais essayer des que j'ai le temps en attendant...


------------------------------------------------------------------------------------------------
"The day Microsoft makes something that doesn’t suck is probably the day they start making vacuum cleaners"  Ernst Jan Plugge
------------------------------------------------------------------------------------------------

Hors ligne

#4 Le 10/02/2007, à 15:48

Gari

Re : [RESOLU] encodage page php

Ce que veut dire "Enjoy Aspirin", c'est que l'unicode intégre l'ensemble des codages caractères du monde entier (c'est bien là l'intérêt du unicode).
Donc, en mettant du unicode pour toute la page, sans distinction de langue, ça devrait fonctionner.

Hors ligne

#5 Le 10/02/2007, à 17:14

tekman54000

Re : [RESOLU] encodage page php

ah oki même les accents et tt et tt??llol ca serait le pied ca smile


------------------------------------------------------------------------------------------------
"The day Microsoft makes something that doesn’t suck is probably the day they start making vacuum cleaners"  Ernst Jan Plugge
------------------------------------------------------------------------------------------------

Hors ligne

#6 Le 11/02/2007, à 18:17

tekman54000

Re : [RESOLU] encodage page php

d'accord, je suis en train de tester la, mais j'aimerai savoir l'equivalent de l'unicode sous mysql (interclassement), sous apache (je suppose utf-8) et l'encodage des pages php (character-set) ?!Parce que la j'ai mis ma base en UTF-8, apache en UTF-8 et ca passe tjrs pas sad


------------------------------------------------------------------------------------------------
"The day Microsoft makes something that doesn’t suck is probably the day they start making vacuum cleaners"  Ernst Jan Plugge
------------------------------------------------------------------------------------------------

Hors ligne

#7 Le 11/02/2007, à 20:56

tekman54000

Re : [RESOLU] encodage page php

EN fait voila j'ai essayé plusieurs trucs...

Tout d'abord, j'ai mis dans apache2.conf "AddDefaultCharset=UTF-8"
Ensuite dans php.ini j'ai activé l'utf-8 car php5 ne le gere pas par defaut. Voici l'extrait de /etc/php5/cgi/php.ini et /etc/php5/apache2/php.ini (je les ai copiés tous les deux) :

[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

; substitute_character used when character cannot be converted
; one from another
mbstring.substitute_character = none;

; overload(replace) single byte functions by mbstring functions.
; mail(), ereg(), etc are overloaded by mb_send_mail(), mb_ereg(),
; etc. Possible values are 0,1,2,4 or combination of them.
; For example, 7 for overload everything.
; 0: No overload
; 1: Overload mail() function
; 2: Overload str*() functions
; 4: Overload ereg*() functions
mbstring.func_overload = 7

; enable strict encoding detection.
mbstring.strict_encoding = On

Et ensuite j'ai modifié le code de ma page php :

<?php
header ("content-type: text/xml; charset=UTF-8;");
mb_http_output('UTF-8');
$db_conn = mysql_connect("localhost","anglais","anglais");
...

Voila si quelqu'un pouvait m'aider ca serai super sympa


------------------------------------------------------------------------------------------------
"The day Microsoft makes something that doesn’t suck is probably the day they start making vacuum cleaners"  Ernst Jan Plugge
------------------------------------------------------------------------------------------------

Hors ligne

#8 Le 12/02/2007, à 15:47

Balkoth

Re : [RESOLU] encodage page php

Bonjour,

L'option AddDefaultCharset=UTF-8 est normalement présente par défaut, et n'est pas forcément nécessaire.
http://doc.ubuntu-fr.org/serveur/lamp_b … eb_apache2


Apparemment, le souci provient plutôt de la base mysql.
Je recommande de passer la base en utf8 (interclassement : utf8_unicode_ci) si ce n'est pas déjà le cas et d'utiliser l'instruction suivante dans le fichier php, avant de récupérer les données de la base :
mysql_query('SET NAMES utf8').

Je n'ai testé qu'en français, mais cette solution a réglé tous mes problèmes d'accents (plus besoin de se servir de htmlentities smile), donc a priori ça devrait fonctionner pour les autres langues aussi.

Hors ligne

#9 Le 12/02/2007, à 16:51

tekman54000

Re : [RESOLU] encodage page php

@@@@@@@@@@@@@@@@@@@@@hhhhhhhhhhhhhhhh ca marcheeeeeeeeeeeeeeee smile

Mici beaucoup t'es un dieu smile smile smile smile smile
depuis le temps que je m'acharnais la dessus..................

Merci encore smile


------------------------------------------------------------------------------------------------
"The day Microsoft makes something that doesn’t suck is probably the day they start making vacuum cleaners"  Ernst Jan Plugge
------------------------------------------------------------------------------------------------

Hors ligne

#10 Le 12/02/2007, à 17:05

Balkoth

Re : [RESOLU] encodage page php

smile

Un petit résolu ?

Hors ligne

#11 Le 21/02/2007, à 10:36

tekman54000

Re : [RESOLU] encodage page php

ouaip smile


------------------------------------------------------------------------------------------------
"The day Microsoft makes something that doesn’t suck is probably the day they start making vacuum cleaners"  Ernst Jan Plugge
------------------------------------------------------------------------------------------------

Hors ligne