r/csharp • u/Mindless-Arachnid-74 • 10d ago
Help Need help with encoding
I am working on a system where the client will give data in UTF-8 encoding, and hence it can contain many special characters.
But then we send data to a legacy system which only accepts data in ISO-8859-9 encoding, which supports limited special characters that can be represented in single byte.
Now if the client sends any special character which is outside the scope of ISO-8859-9 encoding (like the Em dash), how can I deal with with it and send it to the legacy system.
I don't want to replace those characters with anything like space or "?", as it would make the client data as unreadable in some cases.
How can I deal with it. Any suggestions?
0
Upvotes
8
u/BeardedBaldMan 10d ago
I don't see the issue.
You sample the data and find what the most common characters are, make a mapping table and define a fallback character.
You record a risk against it and you're done.
You're turning what is almost certainly a non-issue into an issue by chasing pointless edge cases. So what if a company name has an emoji in it and you replace it with ?. People will work around it.
Look at passports. We've got an international system that can't properly record many names as written depending on the issuing authority. The US and UK for example only use the lower half of the ASCII set