
I realize this is called "Voice"Ops, but since Voice and SMS is blurry (you can't have GSM cell phones without SMS), I'm posting. I've been dealing with SMS the last 3 years as part of my business. I recently added Bandwidth to the mix, and while I don't love having yet another external dependency running Kannel SMSC, I do love the fact that there is real standards for binary encoding of SMS messages, supporting the all important Emoji. I've noticed something recently, and I'm trying to get a handle on how to deal with it. Customers with iPhones, and maybe Android phones, send what seems like a simple SMS message: "Where should I send the $2500 deposit?" All of us see a simple ASCII, ISO8859-1 text, right? Not Apple. They have to deal with the world, so they take that $ sign and turn it into a ?. A what you say? The currency sign (?) is a character used to denote an unspecified currency. It is often used in place of a symbol that is not present in the font in use; for example, in place of the col?n (?). It can be described as a circle the size of a lowercase character with four short radiating arms at 45? (NE), 135? (SE), 225?, (SW) and 315? (NW). It is raised slightly above the baseline. It is represented in Unicode as U+00A4 ? currency sign (HTML ¤ ? ¤ ? Windows Alt+0164). And later... Even when it is appropriately used, it has an inherent ambiguous meaning; ?12.50 can be interpreted as 12.5 units of some currency, but the currency itself is unknown, and can be determined only by information outside the use of the character in itself. In text-based discourse, such as international trading or listing exchange rates, it is not uncommon to refer to a given currency with its three-letter ISO 4217 code instead of or in conjunction with a currency symbol, to avoid this ambiguity. -- https://en.wikipedia.org/wiki/Currency_sign_%28typography%29 So I tested this. We see a message with "Where should I send the ?2500 deposit?" come into us from our carrier. When we send it to another iPhone, the currency symbol is transliterated (is that what happened?) back into the $ sign. I started assuming it was just me failing at localization, but for the life of me I cannot find any sort of localization that converts the "General Currency Symbol" to the localized currency symbol. I'm of the current mindset that my job is to store the message as received, but upon display localize this character to the locale of the current session. That's what I'll probably do. But I wanted to throw this out here to see if others have run into this sort of issue and how it was dealt with. The only drawback of blindly converting it to the current locale is that the value is lost when sent by the phone. I don't know what currency the sender was using because it is abstracted away when the SMS is sent. And if I'm in the US and put "$2500" and send that to someone in Japan it shows up to them as "?2500" but no actual financial conversion has been done, and meaning is lost. USD$2500 is ?292,131.25 at current rates... I'm starting to wonder what my role is as a carrier to deal with these subtleties. Easy: Do nothing, put it in our FAQ. Hard: Convert it to the selected Locale, explain confusion later. Hardest: Try and infer and do realtime currency conversion, risky because that may not be the intent of the sender or understanding of the receiver. (probably not the latter) Beckman --------------------------------------------------------------------------- Peter Beckman Internet Guy beckman at angryox.com http://www.angryox.com/ ---------------------------------------------------------------------------