ugrás a tartalomhoz

dbaseből ékezetek MySQL-be

Anonymous · 2005. Feb. 1. (K), 21.16
sziasztok
van egy kérdésem...
jó helyre írom?
dbaseből olvasok be adatokat egy mysqlbe. gondok adódtak a magyar ékezetekkel. á helyett egy szóközt látok... és a többi is valami furcsa karakterként töltődik be...
meg tudnátok mondani mit keressek? esetleg mi a gond?

edi
 
1

dbase ekezetek

gerzson · 2005. Feb. 2. (Sze), 20.52
Ha régi dbase fájlról van szó (márpedig miért lenne új ;), akkor ez amit van, mert a dbf-ben vmi régi DOS/Win3.1 időkből származó kódkiosztás (pl. CWI) szerint lettek elmentve az ékezetes karakterek. CWI-hez az alábbi fv-t használtam régen, sajnos, nincs meg minden ékezetes karakter kódja.

    function encode_CWI2ANSI ( $from ) {
        static $chars = array (
            '/\xA0/' => 'á', 
            '/\x82/' => 'é', 
            '/\xA1/' => 'í', 
            '/\xA2/' => 'ó',
            '/\x94/' => 'ö', 
            '/\x93/' => 'ő', 
            '/\xA3/' => 'ú', 
            '/\x81/' => 'ü',
            '/\x96/' => 'ű', 
            '/\x8F/' => 'Á', 
            '/\x90/' => 'É',
            // '/\x??/' => 'Í',
            '/\x95/' => 'Ó', 
            '/\x99/' => 'Ö',
            // '/\x??/' => 'Ő',
            '/\x97/' => 'Ú',
            '/\x9A/' => 'Ü',
            // '/\x??/' => 'Ű',
        );

        return preg_replace ( array_keys   ( $chars ),
                              array_values ( $chars ), $from );
    }