Mojibake

Mojibake (, mula , ) ang tawag sa nagkandagulo-gulong teksto na resulta ng maling pagdekodigo sa naturang teksto dahil sa maling ginamit na sistema ng pagsasakodigo ng karakter. Sistematiko nitong pinapalitan ang mga simbolo ng teksto ng mga simbolong walang kinalaman dito, madalas mula pa sa ibang sistemang panulat. Hindi itinuturing na mojibake ang mga kaso kung saan walang kaakibat na karakter sa font na ginamit.

 Etimolohiya 
Mula sa wikang Hapón ang salitang mojibake. Literal itong nangangahulugang "pagbabago ng titik": titik ang ibig sabihin ng moji (), samantalang "pagbabago" o "transpormasyon" ang ibig sabihin naman ng bake (), na mula sa pandiwang bakeru (, 'magbago', 'magpalit'). Sinasalin ang naturang salita ng ilang diksiyonaryo bilang "korapsyon" o "magulong teksto". Kilala rin ito sa ibang tawag sa ibang mga wika: sa wikang Tsino, ginagamit ang salitang 亂碼 (luàn mǎ, ) para sa parehong konsepto, samantalang 'alpabeto ng unggoy' ang literal na ibig sabihin ng salitang ginagamit sa wikang Bulgaro at 'basura' naman sa wikang Serbiyo.

 Sanhi 

Lumalabas ang mojibake dahil sa maling nagamit na pagkokodigo ng karakter. Resulta ito ng di magkatugmang pamantayan na ginagamit ng parehong panig. Halimbawa, posibleng gumagamit ang isang kompyuter ng UTF-8 samantalang Windows-1252 naman ang ginagamit ng pagpapasahan niya ng mensahe. hindi nakadisenyo ang mga pamantayan upang masuportahan ang iba pang mga pamantayan dahil sa mga limitasyon ng teknolohiya noong ika-20 siglo.


Bago lumaganap ang paggamit ng Unicode, malaking problema ang mojibake lalo na kung magpapasahan ng impormasyon ang mga kompyuter na mula sa magkaibang bansa. Lalo pang lumalala ang sitwasyon dahil posibleng magkaroon din ng magkakaibang pamantayan para sa iisang wika, tulad ng kaso ng wikang Hapón, ang pinagmulang wika ng salitang ito. Maraming kodigong pamantayan ang ginawa para maipakita ang mga karakter ng wikang Hapón sa digital na device, tulad ng Shift-JIS at EUC-JP. Gayunpaman, kapag magpapasa sila ng impormasyon papunta sa isang kompyuter sa Estados Unidos, na gumagamit ng hiwalay na pamantayan para maipakita ang sulat Latin tulad ng ASCII at Windows-1252, magreresulta ito sa isang mojibake maliban lang kung mano-manong itatakda ng papadalhan ang sistema ng pagkodigo ng karakter sa nararapat na pamantayan.

Narito ang salitang mojibake kung isusulat sa sulat Hapón mula UTF-8 papunta sa iba't-ibang mga pamantayan:

 Unicode UTF-8 – 文字化け
 Windows-1252 – æ–‡å­—åŒ–ã‘
 Shift-JIS – 譁・ｭ怜喧縺・
 EUC-JP – ・絖・・
 GB 18030 – 鏂囧瓧鍖栥亼
 ISO 8859-1 – æå­åã

 Solusyon 
Walang maayos na solusyon para sa mojibake bago ang paglaganap ng mga pandaigdigang pamantayan tulad ng Unicode simula noong dekada 1990s at bumilis noong 2000s. Tipikal na nagaganap ang mojibake sa mga programang nagpapakita ng teksto tulad ng mga word processor at web browser, kaya naman isa ang mga ito sa mga unang sumuporta ng iba't-ibang mga pamantayan. Mano-manong itatakda ng gumagamit nito ang tamang pamantayan para sa tekstong babasahin. Gayunpaman, naimbento rin ang ilang mga programa at algoritmo na kusa na'ng pipili ng angkop na gagamiting pamantayan. Nagagawa ito sa pamamagitan ng samu't saring paraan, ang pinakasikat sa mga ito ay ang pagsusuri sa heuristics ng naturang teksto. Isa sa mga gumagamit sa ganitong paraan ang ftfy, isang library sa Python na kayang makatukoy sa tamang pamantayan ng mojibake.

Sa kasalukuyang panahon, limitado na lang ang mga pagkakataon kung saan makakakita ang gumagamit ng mojibake. Dahil ito sa paglaganap ng pamantayang UTF-8 ng Unicode, na may suporta para sa halos lahat ng wika at sistemang panulat sa mundo. Gayunpaman, posible pa rin makakita ng mga mojibake lalo na sa mga lumang programa na may iba o hindi suportadong pamantayan.

 Sanggunian 

 Link sa labas 
 Kaya ng website na ito  na gumawa ng mojibake sa iba't-ibang pagsasakodigo ng karakter (sa wikang Ingles).
 ftfy — isang sikat na library sa Python para sa pagsasaayos sa mga mojibake.

Kategorya:Mga error sa kompyuter
Kategorya:Pagsasakodigo ng karakter
Kategorya:Walang kabuluhan