Can I make my phone recognize numbers in both international and local forms as equal? In an earlier question, I asked how to handle international phone book entries while traveling internationally.  The simple answer was simply to store phone numbers in their international form, which works like a charm, except for one thing.

Incoming text messages don't always get assigned to the proper contact.

I may send a text to contact Bob, who's phone number is +52 333 555 12 12 (a Mexican number).  He gets the text just fine, but when he replies, the message appears to come from simply 333 555 12 12.  As a result, I end up with two conversations, one to 'Bob', and one to 333 555 12 12, which isn't associated with any of my contacts.

Is there a way to make my phone recognize these numbers as the same (without creating duplicate entries for all of my contacts--one with the +52 and one without)?
Propably not an easy and fast solution:

If MIUI supports your Phone, then install MIUI which is not like the many roms (unstable, cluttered, for "freaks"). If it doesn't support your phone, you could still search for an unofficial version here or on XDA-Developers.

You have the possibility to go into the Dialer-Settings and set a default country-prefix. If you stay in Mexico you just set the default prefix to +52 and the incoming SMS should have the +52 assigned. If your next stay is in Krungthep Mahanakhon (=Bangkok) then you just set it to +66. This works for me.