Kezdőoldal » Számítástechnika » Programozás » C# -ban miért kérdőjelként...

C# -ban miért kérdőjelként jelennek meg az ékezetes betűk amikor kiíratom őket?

Figyelt kérdés

Csináltam egy programot, ami egy txt fájlból olvas be sorokat és a magyar ábc ékezetes betűi helyett, amikor kiíratom őket egy MessageBox-ba, akkor fekete rombusz alakba kérdőjelet tesz a helyükre.


Így viszont hibátlanul megjeleníti:

MessageBox.Show("áéőúűóüö");


Ha jól sejtem a txt fájl karakterkódolása miatt van ez. Kérdés hogyan csináljam meg hogy a fájlból beolvasott soroknál is normálisan jelenjenek meg az ékezetes karakterek?


2015. jan. 2. 15:54
 1/3 A kérdező kommentje:
Megoldódott. :D A txt fájl kódolását kellett UTF-8-ra állítani.
2015. jan. 2. 16:18
 2/3 anonim ***** válasza:

Hello!


Magyar karakterkészletet kell beállítani a Stremnél, ami a magyar esetében ISO 1859-2. Vagyis a megoldás:



string result = String.Empty;

using (StreamReader sr = new StreamReader(@"C:\teszt.txt", Encoding.GetEncoding("iso-8859-2")))

{

result =sr.ReadToEnd();

};


vagy ha ragaszkodsz a soronkénti kiolvasáshoz, és a FileInfo-hoz, akkor:



//neked relatív uri-d van!

FileInfo fi = new FileInfo(@"C:\teszt.txt");

var sz = new List<string>();

using (StreamReader sr = new StreamReader(fi.FullName, Encoding.GetEncoding("iso-8859-2")))

{

while(sr.Peek() > -1) //vagy while(!sr.EndOfStream)

sz.Add(sr.ReadLine());

};

2015. febr. 3. 13:14
Hasznos számodra ez a válasz?
 3/3 anonim ***** válasza:

Látom meg oldódott, akkor nincs para...

amit írtam az egy példa program volt.

2015. febr. 3. 13:15
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!