От японски „moji“ – символ, буква,
и „bakeru“ – деформирам, окепазявам.
Да си припомним, че браузърът или по-общо казано web client-ът получава respons-ът от сърва като „купчина единици и нули“. Която купчина единици и нули, той трябва да знае как да я визуализира, и изобщо как да я използва.
По принцип сървът изпраща в отговорът на даденият рекуест, като част и HTTP хедърът Content-Type, с който показва на клиента за какъв тип контент иде реч – текст, изображение…
Ако е изображение ОК, клиентът ще го визуализира, стига да знае графичният формат – JPEG, GIF, PNG…, за което трябва също да има съответният HTTP хедър Content-Type.
Но ако е текст, правилното визуализиране зависи и от това клиентът да знае с какъв енкодинг е кодиран въпросният текст. В смисъл, че една и съща буква, например латинско „W“ или кирилско „Щ“, може в един енкодинг да има един двоичен код, в друг енкодинг – друг, и т.н. „глиф“ (самата буква) един път да е една, друг път на… на Бог знае каква азбука.
Ако се случи ситуация клиентът да декодне (демек визуализира) въпросният текст с грешният енкодинг, това е mojibake, демек – т.н. „гарги“ или текст, написан уж на една азбука и език, а показан на друга.
Затова понякога се случва текст например на български и на кирилица, да излиза на „китаица“, „японица“ или „аборигеница“, и трябва в менюто на браузъра да задаваме енкодинга ръчно.
Литература: