Encodage marche en russe/pas en francais [Résolu]

Messages postés
510
Date d'inscription
samedi 29 décembre 2001
Statut
Membre
Dernière intervention
23 mai 2008
- - Dernière réponse : 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
-----------------
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
Messages postés
719
Date d'inscription
lundi 5 décembre 2005
Statut
Membre
Dernière intervention
8 janvier 2014
4
3
Merci
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.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 158 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_AlexN
Messages postés
510
Date d'inscription
samedi 29 décembre 2001
Statut
Membre
Dernière intervention
23 mai 2008
0
Merci
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
-----------------
Commenter la réponse de WhiteDwarf
Messages postés
719
Date d'inscription
lundi 5 décembre 2005
Statut
Membre
Dernière intervention
8 janvier 2014
4
0
Merci
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.
Commenter la réponse de cs_AlexN
Messages postés
510
Date d'inscription
samedi 29 décembre 2001
Statut
Membre
Dernière intervention
23 mai 2008
0
Merci
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
-----------------
Commenter la réponse de WhiteDwarf
Messages postés
510
Date d'inscription
samedi 29 décembre 2001
Statut
Membre
Dernière intervention
23 mai 2008
0
Merci
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
-----------------
Commenter la réponse de WhiteDwarf
Messages postés
510
Date d'inscription
samedi 29 décembre 2001
Statut
Membre
Dernière intervention
23 mai 2008
0
Merci
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
-----------------
Commenter la réponse de WhiteDwarf