All it does is stores the values in the Session. I can't imagine why it would mangle it.
If you simply store and retrieve a session variable with these characters outside of eCart does it demonstrate the same problem?
I think at this point you need to debug exactly where the problem is occurring. Since it appears it happens when you add to the cart it is possible it is a general problem with storing those values in the session. I would test that first.