Ecrire en japonais

losloshigh Messages postés 17 Date d'inscription jeudi 1 septembre 2005 Statut Membre Dernière intervention 26 septembre 2007 - 7 mars 2007 à 14:15
losloshigh Messages postés 17 Date d'inscription jeudi 1 septembre 2005 Statut Membre Dernière intervention 26 septembre 2007 - 8 mars 2007 à 15:38
Bonjour,

je n'arrive pas à écrire du japonais avec csharp dans ma base mysql ....
quand les caractères sont enregistrée, ils sont remplacés par  des ???

je ne comprends pas car avec mes pages php et qui utilise la meme base mysql, cela fonctionne.

11 réponses

sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
7 mars 2007 à 14:51
Vérifie l'encode que tu utilises... il me semble qu'il faut que ce soit Unicode ou UTF-8

Sébastien FERRAND (blog)
Consultant Indépendant
[Microsoft Visual C# MVP]
0
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
7 mars 2007 à 14:52
konnichiwa, anata wa nihongo o hanashimasuka ?


Je voulais te l'écrire en hiragana mais la freetextbox n'a pas de police japonaise, tu as peut être le même problème quand tu lis les données de ta base.
0
losloshigh Messages postés 17 Date d'inscription jeudi 1 septembre 2005 Statut Membre Dernière intervention 26 septembre 2007
7 mars 2007 à 16:01
merci pour vos réponses rapide

sebmafate :
j'ai changé au niveau de page en uft-8, unicode, meme japonais ... mais en vain :
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

lutinore comment faire pour y rajouter la police, je ne vois pas ... et si pour chaque textbox je dois faire un ajout c'est un boulot titanesque

sinon j'ai tenté de faire 2 fonctions une d'encode et l'autre de décode mais ça ne fonctionne pas non plus :

encode :

public static string FormatBaseMAJ(string s)
{
string old = """;
string newValue = "\\"";

s = s.Replace(old,newValue);
//s= s.
// s = System.Text.UTF8Encoding(s);

string codestring ="";
byte [] bytBuffer;
bytBuffer = Encoding.UTF8.GetBytes(s);

int taille = bytBuffer.Length ;

for (int i = 0 ; i < taille ; i++ )
codestring += bytBuffer[i].ToString();




return s;
}


decode :

public static string FormatDecode(string s)
{
char [] cArray = s.ToCharArray();
byte [] bytString = new byte [cArray.Length];
int i;
for ( i = 0; i < cArray.Length; i++)
bytString[i] = Convert.ToByte(cArray[i]);


char [] chrChars;


chrChars = Encoding.UTF8.GetChars(bytString);

string transform = "";

int taille = chrChars.Length;
for ( i = 0 ; i < taille ; i++ )
transform += chrChars[i].ToString();

return transform;
}
0
losloshigh Messages postés 17 Date d'inscription jeudi 1 septembre 2005 Statut Membre Dernière intervention 26 septembre 2007
7 mars 2007 à 16:03
je viens de voir l'erreur au nivo de mon code

je reteste vite fait mais j'y crois

l'erreur se situe dans la fonction encode , je retourne s au lieu de codestring
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
losloshigh Messages postés 17 Date d'inscription jeudi 1 septembre 2005 Statut Membre Dernière intervention 26 septembre 2007
7 mars 2007 à 16:06
bon ma fonction d'encode délire complètement voilà par exemple ce que j'obtiens
pour du texte en français aussi :
636363636332322271311732271301762271301622271301662271311363232

bref, je me dis que c'est peut etre lié à la version de ma plateforme net...
je suis 1.1

qq'un peut il tester en .net 2.0 avec visual studio 2005 et une base mysql ???
0
losloshigh Messages postés 17 Date d'inscription jeudi 1 septembre 2005 Statut Membre Dernière intervention 26 septembre 2007
8 mars 2007 à 14:13
personne pour m'aider , c'est un truc de dingue ... comment cela se fait il que personne ne peut me répondre, je suis quand meme pas le seul dans ce cas !!!

je suis sur une nouvel techno qu'est le .net et ça fonctionne pas, ça me fou les boules méchant car en php apache ça fonctionne sans aucun code ...

dégouté
0
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
8 mars 2007 à 14:21
Salut,

Deja pour du dev web, il aurait fallu (et meme il faudrait toujours) demander ca sur aspfr.
Enfin, autrement, as tu regardé si rien ne pouvait t'aider ici : http://fr.gotdotnet.com/quickstart/aspplus/doc/cultureencoding.aspx

Mx
MVP C# 
0
losloshigh Messages postés 17 Date d'inscription jeudi 1 septembre 2005 Statut Membre Dernière intervention 26 septembre 2007
8 mars 2007 à 14:49
hello,

merci mille fois de ton aide , un msg ça fait du bien quand on est harcelé et
mis sous pression !

désolé , j'y vais posté de suite ...

je vais voir ton link de suite !

merci
0
losloshigh Messages postés 17 Date d'inscription jeudi 1 septembre 2005 Statut Membre Dernière intervention 26 septembre 2007
8 mars 2007 à 14:51
ouaip le link , je l'avais déjà vu et j'ai commencé par ça ...

bref je me suis mis en uft-8 et ça ne change strictement rien !
0
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
8 mars 2007 à 15:03
attention... à propos de l'utf-8

il ne faut pas oublier que par défaut, les fichiers sources ne sont pas en utf-8 mais en Windows-1252... donc, dans le fichier web.config il faut mettre ceci :

<globalization
       fileEncoding="windows-1252"
       responseEncoding="utf-8" />

ou adapter suivant ta config

Sébastien FERRAND (blog)
Consultant Indépendant
[Microsoft Visual C# MVP]
0
losloshigh Messages postés 17 Date d'inscription jeudi 1 septembre 2005 Statut Membre Dernière intervention 26 septembre 2007
8 mars 2007 à 15:38
j'ai mis ces paramètres dans le web.config :

<globalization fileEncoding="utf-8" requestEncoding="utf-8" responseEncoding="utf-8" />

puis donc ceci :
<globalization
       fileEncoding="windows-1252"
       responseEncoding="utf-8" />

dans ma page ceci :
<%@Page ... ResponseEncoding="utf-8"%>
et le méta suivant :
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

et meme dans les paramètres IIS
pour extensions : .aspx
type MIME : text/html;charset=utf-8

Je place de l'utf-8 partout , mais quand j'enregistre dans la base le japonais se transforme en ???
sinon je suis bien utf-8 gràce à cette commande :
<![CDATA[<%Response.Write (Response.ContentEncoding.EncodingName);%><%Response.Write (Response.ContentEncoding.EncodingName);%>

je suis perdu ...
j'ai posté sur aspfr :
http://www.aspfr.com/infomsg_IMPOSSIBLE-ECRIRE-JAPONAIS-BIG-HELP_900617.aspx

http://www.aspfr.com/infomsg_IMPOSSIBLE-ECRIRE-JAPONAIS-BIG-HELP_900617.aspx</html>]]>
0
Rejoignez-nous