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

WhiteDwarf 510 Messages postés samedi 29 décembre 2001Date d'inscription 23 mai 2008 Dernière intervention - 27 mai 2006 à 20:01 - Dernière réponse : WhiteDwarf 510 Messages postés samedi 29 décembre 2001Date d'inscription 23 mai 2008 Dernière intervention
- 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
cs_AlexN 719 Messages postés lundi 5 décembre 2005Date d'inscription 8 janvier 2014 Dernière intervention - 29 mai 2006 à 08:50
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.

Merci cs_AlexN 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 125 internautes ce mois-ci

Commenter la réponse de cs_AlexN
WhiteDwarf 510 Messages postés samedi 29 décembre 2001Date d'inscription 23 mai 2008 Dernière intervention - 27 mai 2006 à 20:03
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
cs_AlexN 719 Messages postés lundi 5 décembre 2005Date d'inscription 8 janvier 2014 Dernière intervention - 28 mai 2006 à 18:28
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
WhiteDwarf 510 Messages postés samedi 29 décembre 2001Date d'inscription 23 mai 2008 Dernière intervention - 28 mai 2006 à 22:22
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
WhiteDwarf 510 Messages postés samedi 29 décembre 2001Date d'inscription 23 mai 2008 Dernière intervention - 28 mai 2006 à 22:28
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
WhiteDwarf 510 Messages postés samedi 29 décembre 2001Date d'inscription 23 mai 2008 Dernière intervention - 29 mai 2006 à 17:27
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

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.