# Mojibake

Isang halimbawa ng mojibake. Nakakodigo ang Wikipediang Hapón sa sistemang UTF-8; gayunpaman, ginamit sa halimbawang ito ang sistemang Windows-1252 para ipakita ang pahinang *mojibake* nito.
**Mojibake** (IPA: [mod͡ʑibake], mula Hapon: 文字化け, lit. na 'pagbabago ng titik') 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ǎ*, lit. na 'magulong kodigo') 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

Isa pang halimbawa ng mojibake sa Wikipediang Hapón. Dito, ang pamantayang ginamit ay ISO-8859 imbes na UTF-8.
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.

Mojibake sa isang programa sa wikang Espanyol. ISO-8859 ang ginamit rin dito imbes na UTF-8.
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 Naka-arkibo 2023-04-26 sa Wayback Machine. 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.