Ang sistema ng pamamahala ng database ng Mysql, na nagsisimula sa bersyon 4.1, ay sumusuporta sa pagtatrabaho sa mga pag-encode. Ang mga pangunahing problema sa kanila ay lumitaw kapag kumokonekta sa isang database sa Php. Sa kasong ito, dapat na tumugma ang pag-encode ng nilalaman ng base at ang koneksyon.
Panuto
Hakbang 1
Tandaan na ang isang karaniwang sanhi ng mga problema sa Mysql ay ang default na pag-encode para sa mga database ay nakatakda sa latin1. Karamihan sa mga nakakonektang kliyente ay naka-configure din para dito, nagpasok ka ng data at nakikita ang mga resulta na ginagamit din ito. Bagaman ang encoding na ito ay ipinapakita nang tama ang alpabetong Cyrillic, ang mga code ng talahanayan ng simbolo dito ay hindi tumutugma sa mga tunay na character na Cyrillic. Samakatuwid, ang paghahanap at pag-uuri ng data ay maaaring makabuo ng ganap na hindi mahuhulaan na mga resulta.
Hakbang 2
Baguhin ang pag-encode ng database sa isa na wastong ipinapakita ang mga Cyrillic character, halimbawa, utf-8 o cp1251. Upang magawa ito, i-convert ang data mula sa pag-encode ng Latin1 patungong cp1251. Huwag gumamit ng simpleng pagbabago ng data, dahil ang mga character code ay hindi wasto. Samakatuwid, kailangan mong mapupuksa ang kanilang nagbubuklod na pag-encode. Upang magawa ito, i-convert ang data at uri ng character sa binary data. Gamitin ang query Alter table na "Ipasok ang pangalan ng talahanayan" t1 baguhin ang c1 c1 blob.
Hakbang 3
Patakbuhin ang isang query upang baguhin ang pag-encode ng Mysql database, para sa paggamit na ito ng sumusunod na halimbawa: Baguhin ang talahanayan na "Ipasok ang pangalan ng talahanayan" t1 baguhin ang c1 c1 text chatacter set na "Ipasok ang pangalan ng nais na pag-encode, halimbawa, cp1251". Hindi isang solong byte ng data ang pisikal na binago, ngunit ang panuntunan ng pagbubuo ng mga character na pagbabago. Kasunod, upang baguhin ang pag-encode ng database, maaari kang gumamit ng isang simpleng query sa conversion ng data.
Hakbang 4
Mangyaring tandaan na kapag binabago ang mga pag-encode ng talahanayan sa isang patlang na naglalaman ng mga index, dapat mong i-delete ang mga ito at muling likhain ang mga ito, i. muling itayo sa lahat ng mga talahanayan ng database. Kapag lumilipat sa pag-encode, siguraduhin na ang mga visual na kliyente ay sumusuporta sa unicode. Halimbawa, maling ipinapakita ng SQLyog client ang mga nilalaman ng mga talahanayan na nag-iimbak ng data sa pag-encode ng utf-8.