Curly quotes in Money Stuff sometimes get munged

Fixed! Claude wrote this summary:

Thanks for the report! I found and fixed the issue.

The Problem:
Story titles with accented characters (like à, é) were getting corrupted during feed fetching, showing up as à or é instead of the correct characters. HTML entities like ’ (smart apostrophes) were being decoded correctly, but regular UTF-8 characters were getting double-encoded.

Root Cause:
A bug in feedparser 6.0.12 where it does a case-sensitive lookup for the content-type header. We were passing headers with Content-Type (title case), but feedparser only recognizes content-type (lowercase). When it couldn’t find the header, it defaulted to iso-8859-1 encoding instead of respecting the feed’s UTF-8 declaration.

The Fix:
Normalize all HTTP header keys to lowercase before passing them to feedparser. This ensures feedparser correctly detects the UTF-8 charset from the Content-Type header.

I’ve also manually corrected the affected story. New stories from this feed will now display correctly.