Thanks, Don. Unfortunately, I have limited control over the server configuration, but setting up a test server is a good idea. If it works, then I can build my case to make the change.
In case anyone else needs a kludgy workaround for this problem, you can filter your input and re-map the characters (I couldn't get any kind of regsub to work).
This will give you a quick list of the codes needed to do the re-mapping (I couldn't find a list of these anywhere!):
for {set i 0} {$i <= 800} {incr i} {
ns_write "Code $i = \\$i <br>"
}
For example, Code 755 = Ã
When you know the codes for the problem characters you can re-map them like so:
[string map [list \755 {}]]
This would replace the uppercase A-tilde characters with nothing.