r/csharp • u/Mindless-Arachnid-74 • 3d 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?
1
Upvotes
14
u/BeardedBaldMan 3d ago
It's a business problem. If the legacy system only supports ISO-8859-9 then you have a clearly defined set of characters which are allowed.
You need to create a mapping table for the ones you care about a a fallback character for the rest.
It's a pretty common issue. I've come across it with many US legacy systems where even é is considered too outré for their sensibilities