Site multilingue - que pensez-vous de ma méthode de codage?

WRInaute discret
Bonjour

J'ai un site en français/anglais/russe/japonais
Ca me pose plusieurs problèmes :
- j'écris mes texte sous wordpad, tout va bien, mais quand je les copie sous mon éditeur webexpert, il ne veut pas m'afficher le cyrillique et le japonais, j'ai des "&#1054" ; une fois sur internet, ça marche, mais ce n'est pas pratique.
J'ai essayé le UTF-8, ça apparait bien sous webexpert, mais après, sous internet, que des ????
Et vous, que voyez-vous? c'est www.art-et-artisanat-du-monde.com
Quelqu'un a une meilleure technique? ou un éditeur qui le fasse bien? :oops:
- j'envoie des mails avec des fonctions php, ce qui ne fait pas bien passer les caractères étrangers :?
- pour les balises TITLE et KEYWORDS, j'utilise une condition php pour que la langue utilisée soit bien celle du répertoire, mais je pense que c'est une catastrophe pour GOOGLE...

Toute remarque est la bienvenue!

Karine
 
WRInaute discret
Si tu commences à utiliser de l'utf8, il faut aussi que tu définisses ton charset à utf-8 (dans le <head></head>) :
Code:
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />

Sinon, tu n'as pas la balise d'ouverture <html> 8O
 
WRInaute discret
utf8-mail en php

Bonjour

Merci pour la ligne sur utf8, ça marche bien, couplé avec le codage en utf8 de web-expert, sauf que je dois réécrire des pages entières car sur certaines, il ne reste que "??? " :cry:
Ce ne sera à faire qu'une fois...

Par contre, j'ai des soucis avec les mails : le russe et le japonais ne passent pas bien...
Quelqu'un a-t-il une astuce avec php? :wink:
 
WRInaute occasionnel
Moi pour le Chinois je me sers de Dreamweaver, alors que j'utilise Wordpad++ pour les autres langues, parce que sinon je me retrouve avec les ???. Dans Dreamweaver, une fois que tu as mis le bon charset, tu n'as plus de problèmes d'affichage. Sinon quand on regarde ton site il ne semble pas y avoir de problèmes, les caractères s'affichent bien.
 
WRInaute discret
codage/php : à l'aide!!!

Merci pour l'info sur la distinction pour wordpad : je l'utilise pour écrire en russe/japonais, mais je copie ensuite dans le fichier webexpert, et c'est là que ça se corse...
J'ai suivi un conseil donné sur le forum, et je code maintenant en utf8 : ça marche très bien pour les pages html, mais en php, ça ne passe plus du tout!
Si je faisais une mise à jour maintenant de mon site, il n'y aurait plus que des ???...
:cry:

Il y a plein de fonctions d'encodage indiquées dans la doc php, mais moi, ce que je veux, c'est que ce que je mets dans la fonction "echo" soit en utf8...
Et aussi, ce que je sors de ma base sql...

HELP!!!!!!!!!!!!!! :?:
 
Nouveau WRInaute
J'ai eu affaire à ce problème hier. SOlution : j'ai enregistré toutes les pages en utf-8 à l'aide d'editpadpro (mais notepad vista fait l'affaire aussi), et les fichiers include aussi : absolument tous les fichiers php (car gros problème avec un ANSI qui incluait un utf8.Je n'ai utilisé aucune fonction d'encodage php.

Par contre, quand il s'agit d'envoyer un email en cyrillique via la fonction mail() de php, en indiquant utf8 en charset aussi bien dans la page que dans la fonction mail, à la réception, même sur une adresse email russe, mon cyrillique devient : прОглашает ВаÑ? пПÑ
Pas très sexy...
As-tu trouvé une solution, karine ? Ou quelqu'un d'autre ?

Merci
Stéphane
 
WRInaute discret
test de mail...

Bonjour!

Je propose un test : envoie-moi un message sur la partie russe de mon site ?
Quand je le fais moi, j'envoie sur deux adresses : une sur mon hébergement ovh, l'autre sur orange
--> ça ne marche pas sur l'adresse ovh, ça marche sur l'adresse orange!
C'est vrai aussi en japonais... et je n'ai rien mis de spécial!

Il y a des choses qui m'échappent...
Quelqu'un peut nous aider?

Karine
 
Nouveau WRInaute
Après avoir posté mon message, je me suis rendu compte que le tiens datait de février 2007 (j'avais d'abord cru que c'était 2008...) Mais je vois que le sujet est touours d'actualité.
Pour ma part, j'ai résolu le problème : j'avais mis des apostrophes autour dans l'expression charset='utf-8', alors qu'il fallait soit des guillemets, soit rien du tout.

Voici mon script d'envoi du mail, qui fonctionne avec du russe, du polonais et du tchèque (ainsi que les langues d'europe de l'ouest) :

Code:
$header = "From: " . $email_expediteur . "\r\n";
$header .= "Reply-To: webmaster@{$_SERVER['SERVER_NAME']}\r\n";
$header .= "Content-Type: text/plain; charset=\"utf-8\"\r\n";
$header .= "X-Mailer: PHP/" . phpversion();
mail($email_ami, $sujet, $message, $header);

Mais pour que cela fonctionne, j'ai dû enregistrer tous les fichiers php (ne pas oublier les "include" non plus) avec le codage utf-8 (notepad Vista sait le faire - on sélectionne le type au moment de l'enregistrement, mais editPadPro est plus pratique - il y a une version gratuite).
Il est également indispensable de mentionner le charset choisi dans la partie html de la page :
Code:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

Avec tout cela, je pense qu'on peut même utiliser le japonais qui doit aussi être intégré à l'utf-8.

Bon courage !
Stéphane
 
Discussions similaires
Haut