|
|
Közzétéve 2018. 04. 13. 16:11:20
|
|
|

Ma, amikor OpenFileDialog párbeszédet készítettem, el kellett olvasnom a nyílt fájlt, és megjelenítenem a RichTextBoxban az űrlapon. Azonban a fájl megjelenítésekor kiderült, hogy a megjelenített kínai string összezavarodott. A kódex kulcsfontosságú részei a következők:
Eleinte azt is gondoltam, hogy probléma van a karakterkódolással, ezért amikor inicializáltam a StreamReadert, hozzáadtam hozzá a karakterkódolási paramétereket, és többször is hozzáadtam: Encoding.Unicode, Encoding.UTF32, Encoding.UTF7, Encoding.UTF8, Encoding.ASCII, minden hozzáadható kódolási sémát kipróbáltam, de az eredmény nem volt jó.
Eredetileg a Windows 2000 és későbbi operációs rendszer Unicode-ot használt fájlfeldolgozásra, tehát . A .Net alapértelmezett fájlkódolása szintén az Unicode. Ha nincs másként megadva, a StreamReader alapértelmezett kódolása Unicode, nem pedig a jelenlegi rendszer ANSI kódlapja. Azonban a dokumentumok többsége továbbra is ANSI kódolásban van tárolva, és a kínai szöveg gb2312-t használ, ami kínai karakterek zavart megjelenését eredményezi, ami azt jelenti, hogy a kódolási formátumot meg kell határozni a szöveg olvasásakor.
A megoldás a következő: System.Text.Encoding.Default jelzi a StreamReadernek a jelenlegi operációs rendszer kódolását.
|
Előző:.net/c# Xml, Json, Hessian, Protokollpufferek serializációs összehasonlításaKövetkező:.net/c# Használd a Costura.Fody fájlt a DLL becsomagolásához az EXE-be
|