Absolutely right. The customer does not care that you made a shortsighted decision to pick a language for a TEXT based system that cannot correctly support none-BMP Unicode. There are no excuses, surrogates have been out there for years (Windows was using UTF16-LE from NT 3.51 / Unicode 2) as have 4 byte UTF8 encodings.
JavaScript is a joke in this respect, and is keeping horrors like Shift-JIS alive long after they should have been retired.
JavaScript is a joke in this respect, and is keeping horrors like Shift-JIS alive long after they should have been retired.