Autor | Zpráva | ||
---|---|---|---|
Michal Škrabálek Profil |
#1 · Zasláno: 27. 4. 2006, 06:57:39
Nefunguje mi korektně české řazení dat z MySQL. Pokud název sloupce začíná např. š nebo ž, ocitne se tento až na konci řazení.
Nenašel jsem funkční řešení. Většinou mají lidé problém s tím, že jakýkoliv výstup z db mají zmrvený, u mě je vše bez problémů, jen to řazení... kódování používám windows1250. Na linuxoftu jsem našel řešení tohoto problémů parametrem collate, nevím však, jak ho k tabulce v db přidat. Používám mysqladmina. Děkuji za jakoukoliv radu. |
||
Michal Škrabálek Profil |
#2 · Zasláno: 27. 4. 2006, 07:20:43
Tak jsem našel funkční řešení:
$poradipismenek = "0123456789AaÁáBbCcČčDdĎďEeÉéFfGgHhIiÍíJjKkLlMmNnOoÓóPpQqRrŘřSsŠšTtŤťU uÚúŮůVvWwXxYyÝýZzŽž"; ORDER BY INSTR('$poradipismenek',SUBSTRING(title,1,1)) ASC, SUBSTRING(title,2) ASC Je to hrůzná zhůvěřilost, ale funguje. Nicméně je to takové řešení/neřešení. Určitě by to šlo lépe. Nemáte někdo tip? |
||
Leo Profil |
#3 · Zasláno: 27. 4. 2006, 11:57:35
Jakou mate verzi MySQL? Leo
|
||
peta Profil * |
#4 · Zasláno: 27. 4. 2006, 19:15:35
Michal Škrabálek
www.google.com a hledej odkazy s mysql collate , pravdepodobne mas spatne nastavenou cestinu v databazi a na dotazy. Presne tenhle problem sem resil na xatchat.sk v kazdem mem programu. Na host.sk maji databazi nastavenou na default kodovani a to je zrovna nejake nevhodne :) konkretne to resi par radku z tohoto: CREATE TABLE xatchat_ppxRoom5 ( id int(11) NOT NULL AUTO_INCREMENT, line_login1 varchar(25) default NULL, line_login2 varchar(25) default NULL, line_text varchar(255) default NULL, line_type int(11) default NULL, line_date datetime NOT NULL default '0000-00-00 00:00:00', PRIMARY KEY(id), KEY (line_login1), KEY (line_login2) ) TYPE=MyISAM COLLATE cp1250_general_ci; mysql_query("SET NAMES 'cp1250'") OR die("Error: Nastav kodovani DB!".mysql_error()); a potom teda se collate uziva i primo na sql dotazy, viz http://mm.gene.cz/ http://www.mysql.com/documentation/ (kde to druhe je pouzitelne jedine ve spolceni s googlem, jinak se v tom tezko hleda) |
||
Časová prodleva: 18 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0