Čtení dat z DBF - CZ znaky   zodpovězená otázka

VB.NET

Omlouvám se, že tady opět otvírám téma které tu už bylo, ale stále si nevím rady.

Používám toto:

con = New System.Data.OleDb.OleDbConnection("Provider=VFPOLEDB.1;Data Source=C:\Export Dat\AdresarF.dbf")
        con.Open()
        SQLDotaz = "SELECT Ulice FROM AdresarF ORDER BY Ulice"
        com = New System.Data.OleDb.OleDbCommand(SQLDotaz, con)
        rdr = com.ExecuteReader()
        Do While rdr.Read
            ListBox1.Items.Add(rdr(0).ToString)
        Loop
        con.Close()

Problém je ale v tom, že nefungují CZ znaky. Jak na to?

Díky, Petr

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

A když si otevřete databázi ručně, znaky jsou správně? Problém většinou nastává při vkládání znaků. Jakého datového typu je Ulice? Pokud by se jednalo o unicodový text, neměl by být s čtením žádný problém.

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

Ručně - v Excelu je to vše OK.

Jak poznám datový typ?

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

Mohla by to být špatná interpretace ovladačem (doporučuji vložit skrz vb něco do databáze s diakritikou - pokud po přečtení je čeština v pořádku radím update VFPOLEDB)

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

Zkoušel jsem do toho uložit a když na to kouknu přes Excel, je tam nesmysl: SlavÝkovß místo Slavíková.

Při opětovném načtení se to ale načte OK.

Zároveň jsem si všiml, že pokud ve zdrojovém DBF je čeština v hlavičce, tak se k danému souboru nelze vůbec připojit: "Field name is a duplicate or invalid."

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

Tenhle problém jsem měl při připojování ke staré verzi mysql. Vyřešil jsem to instalaci nové verze, která už neměla problémy s s kódováním. V jakém programu byla vytvořena databáze a jaký engine používáš (nejde update)? Nejspíš tvůj DB engine (driver) to interpretuje např. v ISO-8859-1 nebo Win1252 a v databázi se to ukládá v utf8. Najdi lepši DB driver nebo zkus ODBC tam by to neměl být problém (ale není to úplně ideální co se týká rychlosti přístupu k datům).

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

Pánové děkuji všem kteří se zapojili a pomohli. Problém se sice vyřešil jinak, ale vlastně jste měli pravdu. Provedl jsem upgrade programu na export dat do DBF na novou verzi a problém je vyřešen. Takže ještě jednou, díky moc.

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