Autor | Zpráva | ||
---|---|---|---|
Kalby Profil |
#1 · Zasláno: 4. 1. 2010, 18:57:21
Zdravim,
uz asi hodinu se morim s problemem prevodu mdb databaze do sql. Je nutne v databazi provest nektere zmeny sloupcu proto se musi zpracovat v PHP. Nainstaloval jsem si ODBC, vsechno zprovoznil. Funguje az na jednu drobnost, nefunguji ceske znaky (tedy konkretne jenom ž,š,č myslim. PHP soubor je normalne v utf-8 databaze take. Tady je kod: $conn=odbc_connect('db','',''); $sql="SELECT * FROM Results"; $rs=odbc_exec($conn,$sql); $db=mysql_connect('127.0.0.1', 'root', ''); mysql_select_db('databaze',$db); mysql_query("SET NAMES 'utf8'"); while (odbc_fetch_row($rs)){ mb_convert_encoding(odbc_result($rs,"nazev_objektu"),'utf-8') } pokud tam neni funkce mb_convert_encoding tak to napise jen do prvniho znaku s carkou nebo hackem a pote uz nic. Pokud tam funkce je misto znaku š,č,ž pise ? Divne je to ze kdyz to dam vypsat do prohlizece vse se zobrazi korektne.... |
||
Aesir Profil |
#2 · Zasláno: 4. 1. 2010, 22:34:00
[#1] Kalby:
Zkuste použít MySQL Migration Toolkit, ten má docela široký záběr, včetně podpory Microsoft Access. |
||
Kalby Profil |
#3 · Zasláno: 4. 1. 2010, 22:46:06
Tyhle utilitky uz jsem zkousel ale neni to přesně to co chci. Ja jsem používal tenhle: Bullzip MS Access to MySQL, ale některé tabulky jsou dost velké a hlásí to chybu. Ten převod musi jit, kdyz se mi to do prohlizece vytiskne spravne, musi to jit i do databaze jenom nekde delam chybu
|
||
Kajman_ Profil * |
#4 · Zasláno: 4. 1. 2010, 23:47:07
Třeba odbc samo překódovává do nějaké znakové sady, kterou convert neuhádne.
Když si to vypíšete a je to správně zobrazené, tak v prohlížeči je nastavená jaká znaková sada pro zobrazení? |
||
Aesir Profil |
#5 · Zasláno: 5. 1. 2010, 00:00:08
Zrovna jsem chtěl napsat něco podobného. Nevím, jestli to stále platí, ale když jsem řešil kdysi něco podobného s JDBC-ODBC, tak v té době používal interně MS Access UTF-16, takže bych si nebyl jistý tím, že z ODBC to vypadne v UTF-8 a i proto jsem doporučoval nástroj, který si s tím poradí.
Kalby: Zkuste si zjistit opravdu výstupní kódování v tom ODBC resultu. Nebo možná zkuste naslepo doplnit pro mb_convert_encoding třetí parametr vstupního kódování pro UTF-16, pokud platí, to co jsem psal výše :) |
||
Kalby Profil |
#6 · Zasláno: 5. 1. 2010, 20:39:49 · Upravil/a: Kalby
Tak nevim jestli se ten posledni prispevek odeslal tak pro jistotu jeste jednou kodovani v prohlizeci se mi zobrazi windows-1252, tak nevim, utf-16 nepomohlo :)
EDIT: tak prevod z windows-1252 pomohl, diky ani me nenapadlo se podivat v cem to zobrazi firefox :) |
||
Časová prodleva: 15 let
|
0