ups Posted December 30, 2006 Report Posted December 30, 2006 ORDER BY nepareizi sakārto vārdus kas sākas ar š un ģ (samet tur, kur tiem nebūtu jābūt pēc alfabēta). Mysql db kodējums ir latin1_general_ci. Browserii rādas normāli ar kodējumu win1257. Pārkodēt bāzi uz unikodiem nevaru, jo tad būs problēmas vecajā klienta programmā, kuru pilnībā aizstāt ar manu php nevar. Varbūt kādam ir kāda ideja kā šo problēmu atrisināt?
Delfins Posted December 31, 2006 Report Posted December 31, 2006 atrakais un nesapigakais - uztaisit lauku-kopiju bez garumzimem
ups Posted December 31, 2006 Author Report Posted December 31, 2006 Un kāds ir ātrākais un nesāpīgākais veids kā nogriezt garumzīmes? :)
bubu Posted December 31, 2006 Report Posted December 31, 2006 Manuāli arī tā kā būtu jāmāk lasīt, ne? Ja php pusē, tad str_replace(array('ā', 'ē', 'ū', .. ), array('a', 'e', 'u' ...), $str); Ja mysql pusē (tb UPDATE steitmentā), tad UPDATE table SET new_field = REPLACE(REPLACE(...(REPLACE(old_field, 'ā', 'a'), ...), 'ē', 'e'), 'ū', 'u')
ups Posted December 31, 2006 Author Report Posted December 31, 2006 Paldies par atsaucību. Uztaisīju php pusē. Pat darbojas.
osk Posted January 5, 2007 Report Posted January 5, 2007 Bet vai tad kārtot pēc LV alfabēta nekādi nevar?
andrisp Posted January 5, 2007 Report Posted January 5, 2007 Var, tikai attiecīgai kollonai (pēc kuras kārtos) jābūt pareizai kolācijai uzstādītai. (utf8_latvian_ci vai cp1257_general_ci, atkarībā no izmantotā characterseta).
Recommended Posts