2010-05-10 4 views
1

je veux savoir comment recevoir la chaîne de fichier java ...chaîne avec le format de recevoir UTF8 mais avoir des problèmes en java

ce fichier ont des lettres de langue ...

i utilisé UTF- format 8 ... cela peut recevoir des lettres de langue correctement ...

mais les lettres latines ne peux pas afficher correctement ...

alors comment puis-je recevoir toutes les lettres de langue ...

ou tout autre format pour recevoir toutes les lettres de langue ...

le code est

URL url = new URL("http://google.cm"); 

URLConnection urlc = url.openConnection(); 
BufferedReader buffer = new BufferedReader(new InputStreamReader(urlc.getInputStream(), "UTF-8")); 
StringBuilder builder = new StringBuilder(); 
int byteRead; 
while ((byteRead = buffer.read()) != -1) 
{ 
builder.append((char) byteRead); 
} 

buffer.close(); 

text=builder.toString(); 

si j'afficher le « texte » les lettres ne peux pas afficher correctement

merci et avance

+0

Quel est le code que vous utilisez et comment savez-vous que les lettres latines ne s'affichent pas "correctement"? –

+0

URL url = nouvelle URL ("http://google.cm"); URLConnection urlc = url.openConnection(); Tampon BufferedReader = new BufferedReader (nouveau InputStreamReader (urlc.getInputStream(), "UTF-8")) StringBuilder builder = new StringBuilder(); \t int byteRead; \t tandis que ((byteRead = buffer.read())! = -1) { builder.append ((char) byteRead); } buffer.close(); \t text = builder.toString(); si j'affiche le "texte" que les lettres ne peuvent pas afficher correctement –

Répondre

2

La lecture d'un fichier UTF-8 est assez simple en Java:

Reader r = new InputStreamReader(new FileInputStream(filename), "UTF-8"); 

Si cela ne fonctionne pas, le problème est ailleurs.

EDIT: Selon iconv, Google Cameroun est en service UTF-8 invalide. Il semble être effectivement iso-8859-1.

EDIT2: En fait, j'avais tort. Il sert (et déclare) UTF-8 valide si l'agent utilisateur contient "Mozilla/5.0" (ou supérieur), mais iso-8859-1 valide dans (certains) autres cas. Évidemment, le mieux est d'utiliser getContentType pour vérifier avant de décoder.

Questions connexes