Problème encodage cyrillique

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

tu le modifie avec quoi ton fichier ?

Je suis pas sûr que windows-1251 soit le bon encodage (puisque non portable, spécifique à Windows).

A mon avis, tu écris bien en cyrilique, mais PHP lui, ne gère pas autre chose que l’utf-8 et l’iso-8859-1 (normalement, maintenant j’ai pas plus d’indices). Teste en utf-8 voir ce que ça donne?

Bonsoir,

Je fais les modifications avec PSPad editor ou bien avec Blocnotes, ça fait la même chose…

J’ai essayé de mettre utf-8 à la place de windows-1251, je me retrouve avec des hiéroglyphes encore plus compliqués.

Un petit extrait du fichier :

$lang['main_menu'] = 'Ãëàâíîå ìåíþ';
$lang['homepage'] = 'Íà÷àëî';
$lang['rate_photos'] = 'Îöåíèòü ôîòîãðàôèè';
$lang['forum'] = 'Ôîðóì';
$lang['manageforum'] = 'Óïðàâëåíèå ôîðóìîì';
$lang['chat'] = '×àò';
$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 : “Óïðà âëåíèå à äìèíà ìè”.

Question bête :

tu te retrouves avec ces lettres accentuées dans l’éditeur texte? ou sur la page web?

Dans l’éditeur je me retrouve comme ca :

$lang['main_menu'] = 'Ãëàâíîå ìåíþ';
$lang['homepage'] = 'Íà÷àëî';
$lang['rate_photos'] = 'Îöåíèòü ôîòîãðàôèè';
$lang['forum'] = 'Ôîðóì';
$lang['manageforum'] = 'Óïðàâëåíèå ôîðóìîì';
$lang['chat'] = '×àò';
$lang['managechat'] = 'Óïðàâëåíèå ÷àòîì';

Dans la page web les caractères sont bien en cyrillique.

Si je remplace les Óïðàâëåíèå ôîðóìî dans le fichier par le vrai cyrillique, j’enregistre, je ferme, je reouvre le fichier, j’ai des ??? à la place…

Donc il faudrait arriver à partir du vrai cyrillique à former un texte sous forme de Óïðàâëåíèå et sauvegarder ainsi, car apparament c’est le seul encodage qu’il arrive à lire.

Ce même en utf-8 ?

(note: je ne peux (je le crains) rien pour toi)

Ceci étant, si tu as le cyrillique dans ton navigateur, c’est que ça “marche”. J’ai l’impression que ton éditeur oublie que tu es en utf-8, et que donc il repasse en iso/etc.

Je te suggère d’essayer jedit. Non pas qu’il soit meilleur que PSPad, mais que Java a un plutôt bon support de l’encodage, et que ça devrait s’en ressentir sur jEdit (www.jedit.org). Il y a aussi des plugins téléchargeables depuis le bestiau, dont certains pour faire persister l’encodage actuel du fichier (Buffer Locals je crois)

Je testerais ce soir :slight_smile:

Merci

Je viens de tester avec jEdit…

Si j’enregistre en UTF-8, j’ai bien les caractères en cyrillique qui sont enregistrés et qui s’affichent bien sur le site, mais les caractères qui sont sous forme de « Ôîðóì » restent ainsi sur le site.

Dans ce cas, tu installes un OS complet en Russe (GNU/Linux par exemple), tu récupères les éditeurs et navigateurs dans cette même langue… et ça devrait marcher :smiley: :smiley:

Problemème réglé, je suis passé en UTF-8 pour tout le site, j’ai utilisé ce décodeur pour décoder mon texte : http://www.charset.ru/

Merci à vous :wink: