Prevod znakov z Kamenických na UTF-8   zodpovězená otázka

VB.NET, Algoritmy

Poradil by mi niekto ako vo VB .NET previesť text napísaný v Kamenických na UTF-8?

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

No, třeba já. Pokud to nepůjde přímo, tak to převeďte nejprve do WIN-1250 a pak už to půjde prostředky frameworku. Hlavně se prosím vzápětí neptejte, jak převést text z WIN-1250 od UTF-8, protože to byste si měl umět najít.

nahlásit spamnahlásit spam 2 / 2 odpovědětodpovědět

Zaujímavá odpoveď.

V podstate je mi to jedno či je to UTF-8, WIN-1250 alebo default. , ale z Kamenických... Po internete občas surfujem.

Ďakujem.

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

Odpoveď pána Zajíce naznačuje, že je to absolútne jednoduché (ani sa pýtať nemám) a ja si s tým neviem rady. Tak je to jednoduché, alebo nie? Poprosil by som kúštik kódu.

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

Dim encoding As System.Text.Encoding = System.Text.Encoding.UTF8

zbytek si fakt najděte ;-)

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Prepáčte pán Zajíc, ale túto Vašu odpoveď asi budem musieť ignorovať :-). Včera som nad niečim podobným presedel niekoľko hodín a stále som neprišiel na to, ako by to previedlo text v kóde kamenicky do kódu, ktorý je platný vo VB .NET. Jediné riešenie ktoré ma teraz napadá je požiť metódu Select case a nahradiť všetky známe pismena.

S pozdravom,

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

Trošilinku som zmenil názor;-)

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

Naprostý nesmysl

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

Naprostý nesmysl

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

Naprostý nesmysl

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

To bude trochu problém, protože kódování Kamenických není standardizováno a tudíž ho nepodporuje ani .NET Framework. Udělat vlastní převodník by neměl být až takový problém, protože kódování Kamenických je v podstatě kódování IBM437 (které Framework podporuje), ve kterém je nahrazeno celkem 31 znaků. Pokud načtete Stream (soubor v kódování Kamenických) v kódování IBM437, nahradíte příslušné znaky a tento přepsaný Stream pak uložíte v kódování utf-8, mělo by to fungovat. Více o tom, které znaky jsou z původního kódování nahrazeny naleznete zde:

http://cs.wikipedia.org/wiki/K%C3%B3d_Ka...

Pokud ale pracujete s nějakými starými databázemi (Paradox, dBase), převod kódování nechávejte zásadně na (ODBC) ovladačích příslušného databázového enginu!

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Ďakujem!

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

Ale z Kamenických na Win-1250 najde tunu převodníků, některé i se zdrojáky. Jenomže to on nechce slyšet ;-(

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Já jsem tedy žádný se zdrojovým kódem pro .NET nenašel. A pro začátečníka může být převod z C/C++ do .NET problém. Každopádně nastínil jsem řešení problému a to se může hodit i někomu dalšímu.

nahlásit spamnahlásit spam 2 / 2 odpovědětodpovědět

Dobrý večer páni.

Riešenie, ktoré je na

http://www.java2s.com/Tutorial/VB/0140__Development/UsedifferentEncodingtocreateStreamWriterDefaultUnicodeUTF8UTF7.htm

mi celkom vyhovuje a obom Vám ďakujem za pomoc.

Ak by mal niekto záujem, tak môžem uviesť celý, taký neučesaný, kód, ale nechcem zaberať miesto na taký špeciálny prípad ako kamenicky.

Jeden problém tam je. Písmeno "ť", ale mám pocit, že je to problém hlavičiek stĺpcov v DataGridView.

Ospravedlňujem sa, že tomu príspevku som dal dosť nepresný názov. Išlo mi hlavne o to, ako načítať z kódu bratov Kamenických.

Inak je pravda, že prevodníkov je dosť, ale ako ich mám spustiť vo svojom programe, to zatiaľ neviem.

Ešte raz ďakujem.

S pozdravom,

p.s. Keď som prepisoval znaky, tak mi nesedeli so žiadnou tabuľkou. Ale to je tak, len mimochodom.

nahlásit spamnahlásit spam 1 / 1 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