Zadejte hledaný výraz...

Mssql – nacteni dat pres php

tomix
verified
rating uzivatele
(5 hodnocení)
24. 8. 2010 18:25:21
Ahoj,
zacinam s php a potreboval bych poradit, jak pres PHP korektne nacist data z MSSQL db...
resp data se nactou, ale cestina se nezobrazuje tak jak by mela (č>c, ř>r)
Collation je nastaveno na: SQL_Latin1_General_CP1_CI_AS
$conn_mssql = mssql_connect('server', 'login', 'pass') or die ('MSSQL Spatne zadane pripojovaci udaje');
$vyber_mssql = mssql_select_db('esafety', $conn_mssql) or die ('MSSQL Spatne zadana databaze');
if($vyber_mssql) echo "MSSQL Pripojeni OK ..."; else { echo "MSSQL Pripojeni ERR ..."; mssql_close($conn_mssql); }
$q=mssql_query(" SELECT TOP 30 ON_TotalPrice, CAST(ON_Details AS TEXT) AS detail FROM ShopOrderNumbers WHERE ON_Paid='n' ORDER BY ON_ID DESC ", $conn_mssql);
while($v=mssql_fetch_array($q) ) {
$detail=$v; $cena=$v;
echo nl2br($detail)."
"; // vypsat
$t.= $detail;
}
$soubor = fopen("data.txt", "w"); fwrite($soubor, $t); fclose($soubor); // ulozit do souboru
Diky
24. 8. 2010 18:25:21
https://webtrh.cz/diskuse/mssql-nacteni-dat-pres-php/#reply547904
V MySQL pomohlo přidat do php skriptu těsně po mysql_connect napsat
mysql_query("SET character_set_client=latin2");
mysql_query("SET character_set_connection=latin2");
mysql_query("SET character_set_results=latin2");
Nebude tady něco obdobného?
24. 8. 2010 19:03:19
https://webtrh.cz/diskuse/mssql-nacteni-dat-pres-php/#reply547903
tomix
verified
rating uzivatele
(5 hodnocení)
31. 8. 2010 09:44:04
Bohuzel v MSSQL nic takoveho zrejme neni. Prisel jsem na to ze pozadovany sloupec "ON_Details" je viceradkovy a je typu ntext. Pokud to vyberu pres CAST prijdu castecne o diakritiku. Bez CAST to nacist nejde. Nevite nekdo jak na to?
31. 8. 2010 09:44:04
https://webtrh.cz/diskuse/mssql-nacteni-dat-pres-php/#reply547902
qwertr
verified
rating uzivatele
(7 hodnocení)
31. 8. 2010 13:18:46
Takze collation by si mal mat nastavene napr.takto SQL_Czech_Cp1250_CI_AS_KI_WI alebo napr. takto
Czech_CI_AS. To je triedenie podla ceskeho slovnika a nerozlisuje velke a male pismena. MSSQL 2008 ma data ulozene v stlpcoch nchar, navarchar, ntext v kodovani UTF-16 a v ostatnych stlpoch v 8-bitovom kodovej stranke podla toho, ake je nastave. Pri CZECH collation by bolo v 1250.
---------- Příspěvek doplněn 31.08.2010 v 14:01 ----------
Dalsia vec. Ty vlastne pretypovavas stlpec ntext na typ text. Sa necudujem, ze prides o diakritiku. Pri tom nastaveni mu CAST-om vlastne poviez, ze stlpec s textom v kodovanie UTF-16 ber ako kodovanie Latin1, co je zapadoeuropske kodovanie a to vela diakrityky nepozna .
Odkial viez, ze ti to nenacitalo bez toho aby si robil to prekodovanie
31. 8. 2010 13:18:46
https://webtrh.cz/diskuse/mssql-nacteni-dat-pres-php/#reply547901
Pro odpověď se přihlašte.
Přihlásit