Problème encodage cyrillique

Problème encodage cyrillique - PHP - Programmation

Marsh Posté le 07-01-2007 à 15:03:20    

Bonjour,
 
Je suis en train de créer un site de rencontre en russe sous osDate. Mon problème c'est lorsque je modifie le fichier lang_mail.php (celui qui contient toutes les traductions), au lieu d’avoir les caractères en cyrillique je me retrouve avec des hiéroglyphes de ce type : Ôîðóì ce qui correspond à Форум ou Forum en français.
 
Quand je modifie une traduction, par exemple à la place de Форум je mets Главная (page d’accueil) sur mon site je me retrouve avec des caractères non identifiées : ??????. Pourtant ma page est bien en windows-1251 car j’ai :
 
$lang['ENCODING'] = 'windows-1251' tout au début du code
 
 J’ai tout essayé, rien à faire… La seule solution est d’arriver à partir d’un mot en cyrillique (Форум;) à ce genre de caractères : Ôîðóì, car apparemment il accepte que ça. Mais comment ?
 
Je suis dessus depuis ce matin, je craque la...  :o  
 
 
Merci pour vos conseils


---------------
. FeedBack .
Reply

Marsh Posté le 07-01-2007 à 15:03:20   

Reply

Marsh Posté le 07-01-2007 à 15:36:59    

vérifie que le serveur envoie bien un header Content-Type avec le bon encoding, genre :

Code :
  1. header('Content-Type: text/html; charset=windows-1251');


 
Aussi, utiliser du windows-1251 est un peu bof, regarde si tu peux pas prendre de l'utf-8 directement

Reply

Marsh Posté le 07-01-2007 à 15:59:09    

J'ai regardé dans l'index, ce dernier fait appel au fichier de traduction avec cette ligne :  
 

Code :
  1. <meta http-equiv="Content-Type" content="text/html; charset={lang mkey='ENCODING'}" />


 
pour info {lang mkey='ENCODING'} = 'windows-1251'
 
J'ai essayé de mettre utf-8 à la place de windows-1251, je me retrouve avec des hiéroglyphes encore plus compliqués...

Reply

Marsh Posté le 07-01-2007 à 20:04:41    

Un petit extrait du fichier :
 

Code :
  1. $lang['main_menu'] = 'Ãëàâíîå ìåíþ';
  2. $lang['homepage'] = 'Íà÷àëî';
  3. $lang['rate_photos'] = 'Îöåíèòü ôîòîãðàôèè';
  4. $lang['forum'] = 'Ôîðóì';
  5. $lang['manageforum'] = 'Óïðàâëåíèå ôîðóìîì';
  6. $lang['chat'] = '×àò';
  7. $lang['managechat'] = 'Óïðàâëåíèå ÷àòîì';


 
Lorsque j'écris en cyrillique : "Исправлена ошибка при работе сайта в браузере Opera 9" et je sauvegarde, je reouvre le fichier et a la place j'ai ca : "?????????? ?????? ??? ?????? ????? ?"  :o  
 
A savoir que le mode d'enregistrement en le ANSI, si j'enregistre en UTF-8 avec blocnotes, je charge le fichier de langue je me retrouve avec des caractères de ce type : "Óïðà âëåíèå à äìèíà ìè".

Reply

Marsh Posté le 07-01-2007 à 20:43:24    

ah ben regarde alors ton éditeur, qui doit pas bien enregistrer

Reply

Marsh Posté le 07-01-2007 à 22:08:29    

Je viens de tester avec jEdit et PSPad ca n'arrange rien...
 
J'ai configuré le programme en UTF-8 puis en windows-1251 je crée un nouveau fichier PHP, je tape du texte cyrillique dedans, j'enregistre, je ferme, je reouvre, je me retrouve avec des ??????????????????.  :??:  :??:  :??:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed