Topic: Koduotės

Sveiki, turiu tokia problema kurdamas sava darbą naudoju MySQL 5 versija noredamas perkelti iš vienos duonbazes į kitą duomenys naudoju export funkcija ir poto kitoje duonbazėje vykdau užklausa iš sukurto failo, kadangi naujame MySQL serveryje yra 4 versija automatiskai kyla problema dėl koduotčiu, nes naudojau utf8_bin ir senesnes versijos mysql nebesupranta. Gavau patarimą saugoti duomenys utf8_general_ci koduote, koks yra skirtumas tarp utf8_general_ci, utf8_lithuanian_ci ir utf8_bi, koke kuoduote vertėtu naudoti. Puslapiuose visuose naudoju utf8 koduote.

Re: Koduotės

;) "duonbazė" tai vieta kur laikoma duona?

Jeigu rimtai tai manau, kad painioji koduotes su lygiavimu. Koduotės yra tam tikros taisyklės, pagal kurias saugomo duomenys, o lygiavimas yra taisyklės pagal kurias tie duomenys lygiuojami. Paprasčiau sakant koduotė nusako simbolių rinkinį, kuriais saugomi duomenys, o lygiuotė (lygiavimas) nusako, tų simbolių eiliškumą.

Tokių koduočių apie kurias rašei ("utf8_general_ci", "utf8_lithuanian_ci" ir pan.) nėra. čia buvo minimos lygiuotės (collations). Tarkim duomenis užkodavus utf8 koduote, juos galima lygiuoti pagal utf8_lithuanian_ci lygiuote.

Daugiau informacijos apie koduotes ir lygiuotes galima rasti čia: http://dev.mysql.com/doc/refman/4.1/en/ … rsets.html

Kalbant apie MySQL versijas visada pravartu pasakyti daugiau negu pirmąjį versijos skaičių, nes normalus UTF8 palaikymas prasidėji nuo 4.1.x versijos.

Eksportuojant duomenis iš naujesnės mysql versijos į senesę yra labai normalu kad kažkas bus prarasta arba nesuderinta ir pan. gerai, kad yra mysql'o įrankiai, kurie leidžia eksportuoti naujų versijų duomenis suderintus su senesnėm versijom. Tavo atveju eksportuojant reikėtų nurodyti suderinamumo lygį "mysql40" arba "mysql41". Priklausomai nuo to, kokią versiją naudosi. Suderinamumo lygį galima nurodyti naudojant "mysqldump" įrankį ir phpMyAdmin programą.

Re: Koduotės

Dabar jau supratau ir viską susitvarkiau kaip turi būti, ačiū už pagalbą.