Text encoding   otázka

C#

Dobrý den,

potřeboval bych poradit s encodingem textu.

Z DB si readerem vytáhnu potřebná data.

Vrácený text má tvar: "Prá\u009aková barva PE/Q 7045 84G", kde \009a je 'š' v unicode.

Pokud si procházím text znak po znaku tak \009a je jeden char (154).

Nevím, nedaří se mi převést text na text s 'š'.

Formátovat nějak text z unicode nebo něco podobného.

Věděl by někdo jak na to ?

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Máte v databázi uložená data jako nvarchar?

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Jde o firebird databázy, primárně určenou pro jiný program. Já se do ní napojuji a dělám nad ní pár dotazů.

Inkriminovaný sloupeček je "VARCHAR(55) CHARACTER SET ISO8859_1" Collate DE_DE

nahlásit spamnahlásit spam 0 odpovědětodpovědět

A nebude problém právě v tom kódování. Viz. zde: https://cs.wikipedia.org/wiki/ISO_8859-1

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Určitě ano, mě šlo spíš o to zda se dá nějak převést to kódování Unicode (ISO 8859-1) na něco s podporou češtiny. Kde bude např.: znak "\u009a" převeden správně na 'š'. ISO 8859-1 znaky jako š, ě, ř ... nemá, místo toho právě vrací unicode hodnotu \u009a, \u009e ...

Napsal jsem si "zatím" metodu pro převod, kde všechny znaky projdu a nahradím je za české znaky.

Problém je, že si z DB vytahuji do 500 záznamů, jejich textové sloupce mají všechny toto kódování a procházení všech textů a nahrazení českými znaky něco stojí.

Tak jsem doufal, že se dá kódování měnit nějak už při tahání dat z DB.

Michal

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback