Nekomentované odkazy IV. – zmena kódovania v Mozilla Firebird

V januári som oznámil úpravu QuickNote na ľahké zverejňovanie odkazov na stránky, ktoré priebehom dňa pozerám a chcem ich dostať na webstránku. Riešil som to úpravou XUL QuickNote pre Mozilla prehliadače, kedy v zobrazenej stránke označím nejaký text a pravým tlačítkom "pošlem" do QuickNote tento text spolu s URI zobrazenej stránky už sformátovaný ako položku zoznamu (v tagu LI ako link). QuickNote ukladá zoznam linkov ako textový súbor a tento prenáša malý batch prostredníctvom FTP na diskový priestor môjho hostingu, kde ho zasa jednoduchým PHP skriptom po skonvertovaní diakritiky prenášam.
Problémom vtedy aj dnes bol fakt, že international support QuickNote v predošlých verziách používal kódovanie pre ktoré som použil prekódovaciu funkciu URLDECODE a funkciu, ktorú napísal Arthur Dent.
Zverejnením Mozilla Firefox však zrejme došlo k vnútorným zmenám a kódovanie prešlo na iný systém. Preto som ponechal na strane prehliadača úpravy tak ako boli a vymenil som PHP funkciu na prekódovanie diakritiky. Pokiaľ to teda využijete, tu ju máte:

<?php
// konvertovanie z volakeho kodovania do WIN 1250 (c) 2004 Robert Madaj
$rconvWIN = array(‚á‘,’ä‘,’č‘,’ď‘,’é‘,’ě‘,’í‘,’ĺ‘,’ľ‘,’ó‘,’ô‘,’ŕ‘,’ř‘,’š‘,’ť‘,’ú‘,’ů‘,’ž‘,
‚Á‘,’Ä‘,’Č‘,’Ď‘,’É‘,’Ě‘,’Ĺ‘,’Ľ‘,’Ó‘,’Ô‘,’Ŕ‘,’Ř‘,’Š‘,’Ť‘,’Ú‘,’Ů‘,’Ž‘);
$rconvUNI = array(
‚%E1′,’%E4′,’%u010D‘,’%u010F‘,’%E9′,’%u011B‘,’%ED‘,’%u013A‘,’%u013E‘,’%F3′,’%F4′,’%u0155′,’%u0159′,’%u0161′,
‚%u0165′,’%FA‘,’%u016F‘,’%u017E‘,
‚%C1′,’%E4′,’%u010C‘,’%u010E‘,’%C9′,’%u011A‘,’%u0139′,’%u013D‘,’%D3′,’%F4′,’%u0154′,’%u0158′,’%u0160′,
‚%u0164′,’%DA‘,’%u016E‘,’%u017D‘
);
function uni2win($txt){
global $rconvUNI,$rconvWIN;
$out=$txt;
for ($j=0;$j<count($rconvUNI);$j+=1)
{
$out = str_replace($rconvUNI[$j], $rconvWIN[$j], $out);
}
return $out;
}
$lines = file(‚https://spravodaj.madaj.net/nekomentovane.txt‘);
foreach ($lines as $line_num => $line) {
echo uni2win(urldecode($line)) . „\n“;
}
?>

Môže sa Vám ešte páčiť...

4 komentáre

  1. met píše:

    A nebylo by lepsi, nez se s tim takhle trapit sam, kontaktovat autora Quicknote? Urcite bude rad za kazdy ohlas, ze nekdo jeho dilko pouziva – a muze to vyresit pro vsechny uzivatele ;-)
    Jinak pro ucely prekodovani by mela jit pouzit komponenta scriptableunicodeconverter http://lxr.mozilla.org/mozilla/source/intl/uconv/idl/nsIScriptableUConv.idl

  2. rony píše:

    QuickNote ma iny ucel zrejme ako moja potreba – uz to vyplyva zo samotneho nazvu, ja som potreboval nie poznamkovy blok ale nastroj, ktorym rychlo odoslem oznaceny text s adresou stranky do textoveho suboru. Cely quicknote som za tym ucelom vyslovene znasilnil tak, aby mi NEVYSKAKOVALO JEHO OKNO, ktore nepotrebujem.
    V konecnom dosledku s tym pracujem takto:
    pozeram si stranku, zaujme ma a poviem si „dam to na moju webku“, tak oznacim nadpis alebo iny text, pravym tlacitkom vyvolam povel „Posli na moj web“. Ulozi sa to do textoveho suboru (prida sa) a dalsi skript to odosiela ftpkom na moju webstranku. Zobrazovanie a konvertovanie riesi zasa php skript.
    To nie je nic pre autora, pochybujem ze vobec pochopi moje problemy s diakritikou ;-)
    Kto ma chut, moze s nim komunikovat ale ako poznam autorov, odkloni sa zameranim toho programku od mojich potrieb az do tej miery, ze mi to nebude vyhovovat. Takze ani neplanujem ani nechcem nove verzie ;-)
    Dufam, ze je to trosku jasnejsie ;-)

  3. met píše:

    Aha, ted jiz tomu rozumim. Nejedna se ani tak o upravu Quicknote, jako o udelani sveho rozsireni na zaklade zdrojaku jineho – vsichni jsme takhle zacinali (jen je pak matouci to nazyvat tim puvodnim nazvem 8-), ono i Quicknote ma v sobe Jslib ci odinstalacni fukci, kterou jsem uz videl mnohokrat nakopirovanou ;-)
    V pripade, ze tve dilko funguje dobre bych se nebal do pojmenovat dle sebe (s poznamkou, ze je zalozeno na Quicknote) a vystavit ho cele jako balicek – treba se najdou lidi, kteri to vyuziji – takhle to je opravdu zbytecne matouci a komplikovane.

  4. rony píše:

    Mno ja som to v predoslom spote popisal a dal som na stiahnutie mnou upraveny QuickNote. Tak ci onak pre dany ucel si to clovek musi trosku zoskriptovat na strane webservra. Tak ci tak neviem urobil instalovatelnu extension a tak ci onak sa cloviecik nevyhne manipulaciam pri sprevadzkovani celej tej suity ;-) A nakoniec – ocakaval som problemy, na zaklade ktorych som musel prerobit konvertovanie diakritiky (Firebird/Firefox je technology preview)