Kom-pa-TI-bilitet
C# HttpWebRequest Stream till utf8 string
Visa signatur
Tjenare,
Jag håller på med ett projekt där jag laddar ner filer från internet. Filerna kan vara på alla möjliga språk så jag försöker få till en utf8 kodning på allting.
static void Main(string[] args)
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://eforum.idg.se/viewmsg.asp?entriesid=797601");
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream receiveStream = response.GetResponseStream();
StreamReader readStream = new StreamReader(receiveStream,Encoding.UTF8);
string test= readStream.ReadToEnd();
File.WriteAllText(@D:\test.txt, test);
response.Close();
readStream.Close();
}
detta resluterar i att variabeln TEST inte få Å Ä Ö. Byter jag ut Encoding.UTF8 mot Encoding.ASCII så får jag med ö å ä, detta fungerar u just det här fallet men ska jag plocka ner polska tecken t.ex. så kommer det tolkas fel.
Någon som kan peka mig i rätt riktning för hur jag ska lösa det här?
Nedan ska vara :
...
<TITLE>Eforum - kan inte skriva Å Ä Ö;</TITLE>
...
men resulterar i (TEST):
...
<TITLE>Eforum - kan inte skriva � � �</TITLE>
...
Jag gissar att detta beror på att du säger åt strömmen att den ska vara UTF-8, men själva innehållet på hemsidan är i t ex ISO-8859-1. Om du kollar i response-headern så står encodingen där (t ex "text/html; charset=UTF-8"). Använd den, eller konvertera mellan whatever och UTF-8 på något vis.
Kom-pa-TI-bilitet
Okey, jag testar det
Tackar
Copyright © 1999–2024 Geeks AB. Allt innehåll tillhör Geeks AB.
Citering är tillåten om källan anges.