Encodage marche en russe/pas en francais

Résolu
WhiteDwarf Messages postés 510 Date d'inscription samedi 29 décembre 2001 Statut Membre Dernière intervention 23 mai 2008 - 27 mai 2006 à 20:01
WhiteDwarf Messages postés 510 Date d'inscription samedi 29 décembre 2001 Statut Membre Dernière intervention 23 mai 2008 - 29 mai 2006 à 17:27
Bonjour, ou bonsoir, (j'sais jamais avec le décalage horraire ),

Cela fais quelques temps que je travaille sur un site multilangue en plusieurs modules séparés, avec des appels en base de donnée pour afficher les textes suivant les langues. Maintenant que j'ai tout assemblé en un et que j'ai définit le codage des pages, j'ai un bug.

Pour le russe et autres langues à caractère cyrilliques j'utilise de l'encodage UTF-8. Pour éviter pour éviter aux éditeurs du site, lorsqu'ils éditent à la main des parties de la base de donnée, de se tapper les 'é' pour afficher 'é', pour les langues latines j'utilise un codage en ISO-8859-1. J'ai un problème avec le codage de la page, car les pages en cyrillique s'affichent normalement, mais en haut des pages à caractères latins, il y a :       qui apparait.

J'ai fouillé dans le code html et j'ai trouvé ces caractères avant le <hml>, or dans certaines de ces pages, il n'y a aucun code PHP avant la balise <html>. Donc ce petit bout de texte apparaît de nulle part...

Pour définir les charset j'utilise le code :
<?php
if ($t_lang=='cyrillique' && $lang='ru') {
echo "<meta http-equiv=content-type content="text/html; charset=utf-8">";
include("langues/cyrillique/".$lang."/headers.php");
}
else
{
echo "<meta http-equiv=content-type content="text/html; charset=ISO-8859-1">";
include("langues/latin/".$lang."/headers.php");
}
?>
----------------------
La lumière étant plus rapide que le son, un homme peu paraître brillant avant qu'il se mette a parler
-----------------

6 réponses

cs_AlexN Messages postés 694 Date d'inscription lundi 5 décembre 2005 Statut Membre Dernière intervention 8 janvier 2014 19
29 mai 2006 à 08:50
ugh

J'ai eu le même problème que toi avec le russe. Aussi quand j'ai vu qu'en enregistrant mes php en utf-8, j'avais cette marque, j'ai abandonné l'idée de mettre du cyrillique dans les php. J'ai tout basculer dans la base. Ainsi les fichiers php conservait le format ansi, tout en affichant de l'utf-8. Je serais toi, je ferais pareil, parce que sinon je ne vois pas comment tu va t'en sortir.

Effectivement le notepad ne te montre pas ces marques. Le seul éditeur qui me les affiche et qui m'a permis de les enlever a été html-kit tout en concervant le format utf-8. Je m'explique :

Le seul fichier que j'avais au format utf-8 était le script sql qui me permettait de peupler la base. Je l'écrivait sous notepad, pour pouvoir insérer les commandes sql avec les caractères russes :

insert into TexteAnnexe (`IDLANGUE`, `NOMTEXTE`, `TEXTE`) values (97, 'Accueil', '????????');

je l'enregistrais au format utf-8. Ensuite je reprenais le fichier dans html-kit. Je supprimais les marques utf-8, en ne touchant à rien d'autre, puis l'enregistrais de nouveau. Et je soumettais le fichier au serveur sql par l'intermediaire de l'interface d'administration (phpmyadmin). Bien sûr la base était codée en utf-8.

Voilà. Si ça peut t'aider.
3
WhiteDwarf Messages postés 510 Date d'inscription samedi 29 décembre 2001 Statut Membre Dernière intervention 23 mai 2008
27 mai 2006 à 20:03
J'ai oublié de dire : Merci d'avance pour votre aide... :)

----------------------
La lumière étant plus rapide que le son, un homme peu paraître brillant avant qu'il se mette a parler
-----------------
0
cs_AlexN Messages postés 694 Date d'inscription lundi 5 décembre 2005 Statut Membre Dernière intervention 8 janvier 2014 19
28 mai 2006 à 18:28
ugh ! (ça évite les problèmes de décalage horaire)

 sont les marques de fabrique apposées par certains éditeurs de textes pour un fichier enregistré au format utf-8. Parce que si je me souviens bien tu mets des caractères cyrilliques dans tes fichiers php. Ils sont bien présents dans ton fichier mais certains éditeurs les masquent, pour ton confort visuel, et pour mieux te fourvoyer quand tu les cherches.
0
WhiteDwarf Messages postés 510 Date d'inscription samedi 29 décembre 2001 Statut Membre Dernière intervention 23 mai 2008
28 mai 2006 à 22:22
Re hug :)

Alors comment est-ce que je peux faire ? si je n'enregistre pas mes fichiers en utf-8, je ne peu pas y inclure de russe... et si je comprend bien, si j'enregistre en utf-8 et que je définit comme charset ISO, ils affichent ca ? ...

Etrange... et pas très sympas j'ai envie de dire...

Si t'a une idée quand à la résolution de mon problème fais moi signe...

----------------------
La lumière étant plus rapide que le son, un homme peu paraître brillant avant qu'il se mette a parler
-----------------
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
WhiteDwarf Messages postés 510 Date d'inscription samedi 29 décembre 2001 Statut Membre Dernière intervention 23 mai 2008
28 mai 2006 à 22:28
Je viens d'essayer avec bloc note, ultraedit et dreamweaver... pas moyen de trouver ces caractères... tu connais un soft qui pourrais me les afficher pour que je les enlève ?

----------------------
La lumière étant plus rapide que le son, un homme peu paraître brillant avant qu'il se mette a parler
-----------------
0
WhiteDwarf Messages postés 510 Date d'inscription samedi 29 décembre 2001 Statut Membre Dernière intervention 23 mai 2008
29 mai 2006 à 17:27
Merci beaucoup, je vais faire ca... tu m'a appris quelque chose :p... je viens de tester ,très bon conseil... quoi que ca me fais cher de tout repasser en bdd, mais si c'estde la stabilité en plus...

Merci encore @++

----------------------
La lumière étant plus rapide que le son, un homme peu paraître brillant avant qu'il se mette a parler
-----------------
0
Rejoignez-nous