En soms zit het mee

Een van mijn webdingetjes loopt al wat jaartjes mee. Mijn online RSS reader. Gebouwd toen RSS booming was, mijn PHP kennis nihil en mijn enhousiasme dat gebrek commpenseerde. Zoals hobby projecten gaan, ze kosten teveel tijd en je besteed er net niet genoeg tijd aan om het 'af' te kunnen noemen.
Maar omdat het als geheel tamelijk geslaagd was ben ik het altijd blijven gebruiken als mijn RSS lezer. Vele nieuwe pogingen heb ik opgestartzoals: 1) om alle onvolkomenheden uit het verleden te voorkomen en alle wensen die ik had te verwezenlijken. En telkens weer blijkt hoeveel tijd er in mijn oorspronkelijke lezer is verdwenen en na een weekend knopperen en testen start ik die gewoon weer op en lees jullie verhaaltjes. (dromend van de dag dat de nieuwe lezert wel klaar is)

Eén ding echter was nogal irritant bij mijn lezer, hij gokte nogal eens op de verkeerde codepage. Resultaat was onherroepelijk vreemde karakters op de plaats van geaccentueerde tekens. Niet altijd. Maar te vaak.

Dat moest maar eens afgelopen zijn. Dus eerst die in php 4 geschreven crawler leren de gebruikte codepage te gebruiken die in de rss/atom feed vermeld staat. En dan vervolgens de data converteren naar UTF-8 indien nodig. Aanpassingen in de code:

$saxparser = xml_parser_create(); wordt $saxparser = xml_parser_create("");

Vervolgens afdwingen dat alles UTF-8 wordt:


xml_parser_set_option($saxparser, XML_OPTION_TARGET_ENCODING, 'UTF-8');

Fjew dat viel mee. Maar dan, de database omzetten. Dat was al gauw een Gig aan artikeltjes. Even doorbijten en in MySQL de opdracht

alter table rssItem character set 'utf8';

let op dat er hier geen streepje in utf8 staat. Dat typte ik dus fout, en hop daar zat je weer aan de google.
Enfin, uurtje later tabel omgetoverd. En draaien maar weer. En glimlachend zien dat het bijna weg is. 't Enige wat nu nog een 'on-printbaar' karakter oplevert zijn html entities in utf-8 feeds. En de oplossing heb ik ook al; dankzij Anne's uitschrijven van een heleboel van die dingen. Waarvoor hulde!
En langzaam zie ik ook die karakters op de juiste plek staan.
Achteraf fluitje van een cent.

link: Xiffy feeds himself with RSS

Comments

Goed om te weten dat je nog een backup hebt van al mijn artikelen de afgelopen jaren ;-)

Jazeker; de laatste 25 zie je hier:
http://rss.xiffy.nl/?rssURL...
(waarbij meteen opvalt dat jij een van die bronnen blijkt die & encoded karakters stuurt in je feed. © in jouw geval)

previous item: Gevonden! next item: Sunflowers 3
thank you for watching  Creative Commons License