Yeah, I understand - and I really don't want to annoy you with this probably-often-discussed topic.
But wouldn't it be possible to implement it like WordPress does? And you could implement code that could check for identical names of categories/threads and then just add a $CATEGORYNAME-1, then $CATEGORYNAME-2 and so on if the name already exists?
Most forums have figured that problem out already like this.
You could indeed just disallow non-English characters, but considering there's even non-English TLDs, that might be a bit too Web 2.0 ("Web 2.0" meaning "overused buzzword" as well as "far, far into the past")
As long as your letter-to-image thingmajicky supports unicode, there shouldn't really be any problem. Though if some essential piece of core technology for some reason doesn't, you could always just store it as punycode. (that's how they got IDNs to work for domain names)