Geocaching un latviešu burti

Geocaching.com lapas lielākā problēma ir UTF-8 neatbalstīšana. Pie tam, lai problēmas padarītu lielākas, pati lapa saka, ka tā it kā visu saturu rāda UTF-8 formātā, taču datubāze to neatbalsta, līdz ar to visi ievadītie simboli tāpat tiek samainīti. Kāpēc šis pēdējais fakts ir svarīgs? Jo interneta pārlūkprogrammas ir gana gudras, lai spētu strādāt ar lapām, kas UTF-8 neatbalsta – tajā brīdī, kad dati tiek nosūtīti uz serveri, tie tiek apstrādāti, piemēram, burtu “š” aizstāj simbolu virtene “š”, ko pārlūkprogrammas vienmēr varēs atpazīt kā to pašu “š” burtu.

Eksistē salīdzinoši vienkāršs risinājums – pašam autoram veikt šo pārveidošanu pirms nosūtīt savu komentāru vai citu tekstu. Taču, to darīt ar roku visbiežāk būs slinkums. Līdz ar to piedāvāju mazu, ērtu risinājumu.

Izpildot drag-and-drop operāciju, šo pārveidotājadresi ievelkam savas pārlūkprogrammas saišu (Links) joslā vai pievienojam saviem Favorites (iespējams arī vienkārši ar copy-paste vienmēr pēc vajadzības pārveidotājadresi iekopēt adreses laukā). Tagad brīdī, kad iekš geocaching lapas esam uzrakstījuši savu komentāru skaistā latviešu (vai krievu, vai ķīniešu) valodā, spiežam uz šīs saglabātās adreses. Nekas no ievadītā nepazudīs – lapa nepārlādēsies, tikai izpildīsies skripts, kas veiks iepriekš aprakstīto manipulāciju ar ievadīto tekstu.

Zemāk pārveidotājadrese atšifrēta:

javascript:
(function () {
    function a(aa) {
        var bb = '';
        for (var i = 0; i < aa.length; i++)
            if (aa.charCodeAt(i) > 127)
                bb += '&#' + aa.charCodeAt(i) + ';';
            else 
                bb += aa.charAt(i);
            return bb;
    };
    var c = document.getElementsByTagName("input");
    for (var j = 0; j < c.length; j++)
        if (c[j].type == "text")
            c[j].value = a(c[j].value);
    c = document.getElementsByTagName("textarea");
    for (var j = 0; j < c.length; j++)
        c[j].value = a(c[j].value);
})();