Whenever I use Contacts.app to fill out a form on a website, I have a problem with any phone number field.
Contacts.app adds unicode "left-to-right override" (U+202D codepoint: E2 80 AD in UTF-8 contexts, 20 2D in UTF-16 contexts) before the first digit, and "pop directional formatting" (U+202C codepoint: E2 80 AC in UTF-8 contexts, 20 2C in UTF-16 contexts) after the last digit. Many websites get upset by this, because those are not recognised as valid phone number digits. As they are zero-width symbols, the first few times I saw this problem I didn't even understand what was going wrong.
Note that this still happens if I turn off JavaScript or use a desktop text editor like TextWrangler (TextWrangler is how I originally found out which zero-width symbols were being inserted); as it happens, I only care about websites because websites are the only thing which validates that phone numbers match a pattern such as the regex [0-9()+\s]*
This happens with all phone numbers in Contacts, regardless of whose (some are formatted as UK, some as USA, some as German).
Method: open Contacts.app, select any person, double (or triple) click on a phone number to select all of it, ⌘C-⌘V to copy-paste; if I paste into an app which shows non-printable characters like TextWrangler then I can see their existence, if I paste into a web browser it's present but zero-width, as arrow keys 'stick' at those positions and the delete key does in fact remove them.
It happens as described in both Safari and Chrome. In Firefox, it behaved slightly differently, and seemed to automatically delete the extra characters as soon as I pass through them with my arrow keys (?!).
How do I stop Contacts.app from adding these unicode symbols?