Pages: 1
Bonjour à tous,
j'ai un problème avec l'affichage de caractères accentués sous irrlicht .net cp que ce soit avec font.draw() ou avec GUIStaticText. il m'affiche '[]' à la place d'un 'é' par exemple.
j'ai bien trouvé une solution en c++ http://irrlicht.sourceforge.net/phpBB2/ … hp?t=11812
mais je ne vois pas comment faire en csharp.
Merci d'avance
Ps: j'utilise irrlicht 1.2 et irrlicht.netCP 0.7
Dernière modification par Gantz (11-01-2007 13:12:48)
Hors ligne
bon ok, mon post ne va pas faire avancer le schmilblick, mais ce genre de probleme me rappelle quelque chose : les soucis d'encodage. ASCII, ANSI, ISO-8859-15 et autre UTF-8... et du coup j'ai farfouillé mes bookmarks a la recherche d'un article que j'avais lu il y'a quelques temps. il est temps que le monde sache.
http://french.joelonsoftware.com/Articles/unicode.html
PS : bon courage pour ton souci, il se peut que ce qui est dit dans cet article t'eclaire
Hors ligne
Merci pour ta réponse, l'article que tu donne m'as au moins éclairé sur l'encodage de caractères ce qui est en soit positif . je pense que le problème viens du passage de la chaine à la fonction c++ de irrlicht. maintenant, j'ignore quelles modifications faire vu que je ne connait pas grand chose en c++. j'essairais de me pencher dessus plus en détail quand j'aurais du temps.
si quelqu'un trouve une solution avant je suis preneur.
Hors ligne
hum. Je n'ai jamais eu de probèmes avec les caracteres accentués. Lorsque que j'ai eu ce genre d'affichage cela venait simplement du fait que ma bitmap pour "getFont("fonts/fontcourier.bmp")" ne possédait pas les caractères accentués. As-tu vérifié la bitmap? Si c'est ca tu peut en refaire une avec IrrFontTool qui se trouve dans le SDK d'Irrlicht -> tools\IrrFontTool.
Hors ligne
j'ai vérifié pour la bitmap, aucun problème de ce coté là, les caractères accentués sont bien présent, j'ai essayé avec plusieurs fonts différentes et aucun changement.
Hors ligne
bon, j'ai réussi à réglé le problème en modifiant la dll irrlichtW
j'ai modifié la fonction MU_WCHAR dans le fichier conversion.cpp :
wchar_t *MU_WCHAR(const M_STRING base) { size_t size = mbstowcs(NULL, base, 0); wchar_t *tor = new wchar_t[size + 1]; mbstowcs(tor,base,size); tor[size] = '\0'; return tor; }
Dernière modification par Gantz (13-01-2007 18:06:46)
Hors ligne
Héhé ça m'intéresse ça, je connais assez bien les encoding en .NET mais je m'en sors mal en C++ natif donc j'ai commis quelques erreurs.
Comme je l'ai dit sur le forum du wrapper, mon portable est down en ce moment (et le disque avec), alors d'ici quelques semaines je recommencerais à envoyer des bugfixes.
Hors ligne
Pages: 1