JeuWeb - Crée ton jeu par navigateur
[réglé] Affronter l'unicode - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : [réglé] Affronter l'unicode (/showthread.php?tid=1664)

Pages : 1 2 3


[réglé] Affronter l'unicode - uriak - 01-09-2007

Voilà le topo :

j'inclus dans mon header la balise meta suivante
Code PHP :
<?php 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

problème : autant la plupart des éléments présents dans la page passe bien en unicode, y compris les echo directements fais dans la page, autant toutes les séquences comprises dans des require() ne passent pas.

Par exemple, dans ma classe logfunc située dans logfunc.php, j'ai l'action suivante

Code PHP :
<?php 
echo '<em>Mot de passe trop court, veuillez utiliser au moins 5 caractères.</em> <br />';

la page débute par headerfunc.php
qui contient le header, donc la balise meta, suivi de require("logfunc.php"); Dans la page quand je fais appel à la méthode qui produit l'echo les caractères unicodes merdoient. Si je tente de rentrer directement un code tel &egrave, ça ne marche que si la lettre est isolée.

Donc j'aimerais savoir comment on fait en général pour que tout se comporte pareil. ^^


RE: Affronter l'unicode - Plume - 01-09-2007

Heu ... Tu fais bien &egrave; ?


RE: Affronter l'unicode - uriak - 01-09-2007

voilà déjà un aspect du problème ^^

Mais est-ce qu'il y a moyen de s'éviter de devoir faire ça ?


RE: Affronter l'unicode - Plume - 01-09-2007

Je ne conseille pas de faire autrement.
1° : C'est valide (x)HTML
2° : Compris par tous les navigateurs sans exception
Et puis c'est pas spécialement long à écrire ^^

Maintenant à toi de voir Smile



RE: Affronter l'unicode - uriak - 01-09-2007

okay, merci Wink


RE: [réglé] Affronter l'unicode - Sephi-Chan - 01-09-2007

C'est chiant Unicode... Et avec le contenu de base de données aussi... :/


Sephi-Chan


RE: [réglé] Affronter l'unicode - uriak - 01-09-2007

haha, j'en ai chié aussi au boulot, pour convertir une console de l'ASNI vers l'unicode. Il a fallu prévoir toutes les fonction avec des string et wstring ^^

J'ai enfin réussi à faire un système de login à peu près complet* pour mon site, avec de l'objet, du cryptage, de la redirection, du singleton... un bon entraînement en tout cas ^^

*mais sans mails

J'en profite pour ceux qui fouilleront le topic et se poseront la même question que moi : table de caractères unicode


RE: [réglé] Affronter l'unicode - Roworll - 01-09-2007

De mon coté, je n'ai pas eu trop de soucis avec l'UTF-8.

Ma base est en UTF-8 et toutes les données affichées viennent de fichiers XML en UTF-8. Le gros avantages est que je n'ai pas à me casser la tête à mettre des &egrave; &eacute, etc. Les fichiers XML sont lisibles tel quel.

D'ailleurs, si quelqu'un est tenté par faire une traduction en chinois ^^


RE: [réglé] Affronter l'unicode - naholyr - 01-09-2007

Si tu travailles dans un encodage, quel qu'il soit, il faut que tout soit cohérent et que tu travailles avec le même encodage partout :
- Données dans la base
- Fichiers
Et bien sûr envoyer l'encodage correspondant dans l'entête.

Donc ton éditeur de fichier doit utiliser l'encodage que tu as choisi, et les tables de tes bases de données également, et tout sera simplement réglé. A priori tu mélanges simplement des fichiers UTF-8 et CP-1252 (l'ISO-8859-1 à la sauce Windows).

Le problème qu'il a ne vient pas de l'UTF-8. Il vient simplement du mélange de différents encodages : dire que «l'UTF-8 c'est chiant» n'a donc pas de sens.
Surtout que contrairement aux autres encodages, l'Unicode permet en effet de gérer tous les caractères sans avoir à se casser les bonbons. On pourra directement écrire du Grec, du Russe, du Chinois, du Japonais, ou du Français avec les accents, sans avoir à se préoccuper des entités HTML.


RE: [réglé] Affronter l'unicode - uriak - 01-09-2007

Mmm... j'ai demandé à notepad++ d'encoder en UTF-8 mais dans ce cas, FF, me dit qu'il y a déjà eu une sortie avant les session_start, header, etc... il semble considérer le tout début de mon fichier include <?php comme une sortie...