Autor Zpráva
Anonymní
Profil *
Importuji z CSV do SQL databaze pomoci skriptu. Vytvoril jsem si sadu prikazu mimojine typu select.

Napr.:
select product_category_id from product_category where name='Plastové kryty kol' and parent_id=1
select product_category_id from product_category where name='Stěrače' and parent_id=1

Vypozoroval jsem, ze jakmile je v name obsazeno pismeno ž nebo š, tak mi to nechce vratit hodnotu, kterou ma a tvari se, ze to nic nenaslo.

Napr.
select product_category_id from product_category where name='Střešní systémy' and parent_id=1


Pritom kdyz zkopiruji tento prikaz do phpmyadmin, tak hodnotu bez problemu najde.

Predpokladam, ze budu muset udelat neco s kodovanim, ale uprimne nevim, kde zacit....

Dik
Kajman_
Profil *
Začněte se

SET NAMES

pro určení kódové stránky, kterou skript používá.
nothrem
Profil
tedy přesně

mysql_connect(...);
mysql_query('SET NAMES CP1250'); //nebo UTF-8 apod.
//teď teprve pracuj s DB
Anonymní
Profil *
Tak stranka vypada takto:
...
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250" />
...
mysql_query("SET NAMES 'cp1250'") or die('Could not set names');
...

A pri spusteni skriptu to skonci na vyse zminenem dotazu - tedy 'Could not set names'
nothrem
Profil
to CP1250 neni v uvozovkách - je to konstanta
Anonymní
Profil *
Hmm i tak se to nehne z mista :(
nothrem
Profil
Asi je to blbost, ale než vypíšeš to jméno do sql příkazu, zkus ho protáhnout přes mysql_real_escape_string()
Anonymní
Profil *
To mi hlavne nepodporuje verze db...

... no jdu do toho podrobne vrtat, kdyby Vas neco napadlo, tak dejte vedet.... kazdopadne diky i tak...
Anonymní
Profil *
Tak jsem to vyresil hnusne:
pouzil jsem str_replace na jiz zminene znaky a hodil jsem tam misto nich "%" ;)

Ted to funguje, ale je to provizorni reseni, takze pokud budete mit napady, sem s nimi....
Anonymní
Profil *
hned za "mysql_connect();" dej "mysql_query('SET NAMES cp1250');"
nightfish
Profil
a nechceš napsat, jakou verzi mySQL používáš?
Toto téma je uzamčeno. Odpověď nelze zaslat.