Pages : 1
#1 Le 10/02/2007, à 08: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, à 09: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, à 11: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, à 13: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, à 14: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, à 16:14
- tekman54000
Re : [RESOLU] encodage page php
ah oki même les accents et tt et tt??llol ca serait le pied ca
------------------------------------------------------------------------------------------------
"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, à 17: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
------------------------------------------------------------------------------------------------
"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, à 19: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, à 14: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 ), donc a priori ça devrait fonctionner pour les autres langues aussi.
Hors ligne
#9 Le 12/02/2007, à 15:51
- tekman54000
Re : [RESOLU] encodage page php
@@@@@@@@@@@@@@@@@@@@@hhhhhhhhhhhhhhhh ca marcheeeeeeeeeeeeeeee
Mici beaucoup t'es un dieu
depuis le temps que je m'acharnais la dessus..................
Merci encore
------------------------------------------------------------------------------------------------
"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, à 16:05
- Balkoth
Re : [RESOLU] encodage page php
Un petit résolu ?
Hors ligne
#11 Le 21/02/2007, à 09:36
- tekman54000
Re : [RESOLU] encodage page php
ouaip
------------------------------------------------------------------------------------------------
"The day Microsoft makes something that doesn’t suck is probably the day they start making vacuum cleaners" Ernst Jan Plugge
------------------------------------------------------------------------------------------------
Hors ligne
Pages : 1