Pumunta sa nilalaman

Mojibake

Mula sa Wikipedia, ang malayang ensiklopedya
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 Hapones: 文字化け, 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.[1] Sistematiko nitong pinapalitan ang mga simbolo ng teksto ng mga simbolong walang kinalaman dito, madalas mula pa sa ibang sistemang panulat.[2] Hindi itinuturing na mojibake ang mga kaso kung saan walang kaakibat na karakter sa font na ginamit.

Etimolohiya[baguhin | baguhin ang wikitext]

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').[3] 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.[4]

Sanhi[baguhin | baguhin ang wikitext]

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.[1] 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.[4]

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.[4]

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

Solusyon[baguhin | baguhin ang wikitext]

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.[5] Isa sa mga gumagamit sa ganitong paraan ang ftfy, isang library sa Python na kayang makatukoy sa tamang pamantayan ng mojibake.[6]

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.[4] Gayunpaman, posible pa rin makakita ng mga mojibake lalo na sa mga lumang programa na may iba o hindi suportadong pamantayan.

Sanggunian[baguhin | baguhin ang wikitext]

  1. 1.0 1.1 Hallé, Sylvain; Le Breton, Gabriel; Guérin, Francis; Beroual, Oussama (Mayo 2016). "Declarative layout constraints for testing web applications" [Mga deklaratibong limitasyong sa layout para sa pagte-test sa mga web application]. Journal of Logical and Algebraic Methods in Programming (sa wikang Ingles). 85 (5). doi:10.1016/j.jlamp.2016.04.001 – sa pamamagitan ni/ng ResearchGate.{{cite journal}}: CS1 maint: date auto-translated (link)
  2. Rouse, Margaret (9 Hunyo 2016). "Mojibake". Technopedia (sa wikang Ingles). Nakuha noong 25 Abril 2023.{{cite web}}: CS1 maint: date auto-translated (link)
  3. Kubota, Tomohiro. "What is Mojibake?" [Ano ang Mojibake?]. ふらら (sa wikang Ingles). Nakuha noong 25 Abril 2023.{{cite web}}: CS1 maint: date auto-translated (link)
  4. 4.0 4.1 4.2 4.3 Farias, Luis Diego (3 Hunyo 2021). "Mojibake: Question Marks, Strange Characters and Other Issues" [Mojibake: Mga Tandang Pananong, Kakaibang Karakter, at Iba pang mga Isyu]. Globalization Partners International (sa wikang Ingles). Nakuha noong 25 Abril 2023.{{cite web}}: CS1 maint: date auto-translated (link)
  5. Allison, Timothy B.; Herceg, Paul M. (2015). "Methods for Evaluating Text Extraction Toolkits: An Exploratory Investigation" [Mga Paraan para sa Pag-evaluate sa mga Kagamitan sa Pag-extract ng Teksto: Isang Imbestigasyong Gumagalugad] (PDF) (sa wikang Ingles). Virginia, Estados Unidos: The Mitre Corporation.{{cite web}}: CS1 maint: date auto-translated (link)
  6. Choi, Jun (20 Enero 2021). "Fixing Mojibake using Python and ftfy" [Pag-ayos sa Mojibake gamit Python at ftfy] (sa wikang Ingles). Nakuha noong 28 Abril 2023 – sa pamamagitan ni/ng Medium.{{cite web}}: CS1 maint: date auto-translated (link)

Link sa labas[baguhin | baguhin ang wikitext]