Cleanups/Garbled accents

Why your contacts say J√∂rn instead of Jörn.

Somewhere in your address book there is probably a name with symbols in it that nobody typed. It is not a font problem and not a display bug - the damaged text is what is actually stored. It is also fixable, in bulk, without sending anything anywhere.

What it looks like

The pattern is always the same: an accented or non-ASCII character has been replaced by two or three characters that look like typographic debris. The rest of the name is untouched, which is what makes it so easy to skim past.

Stored asShould be
J√∂rnJörn
MüllerMüller
Café NordCafé Nord
Ã…sa LöfgrenÅsa Löfgren
FrançoisFrançois

Why it happens

Text has to be stored as bytes, and the rule for turning characters into bytes is the encoding. In UTF-8, which is what modern systems use, ö is stored as two bytes. If a program later reads those bytes back and assumes an older single-byte encoding instead - Windows-1252, Mac Roman, Latin-1 - it sees two separate characters where there was one, and dutifully writes both of them down.

That mismatch usually happens at a hand-off: a CSV or vCard export and re-import, a migration from an old phone or mail client, a sync through a CRM or a third-party contacts tool that got the encoding wrong on one side. The damage is silent, it is committed to storage, and it can have happened years ago without anyone noticing - which is why people usually discover it while looking for something else entirely.

The mangled form is not how the name is being displayed. It is how the name is now stored.

Why retyping does not really fix it

You can edit one contact by hand, and it works. Two problems with that as a strategy. First, whatever mangled one contact usually mangled a batch - if an import damaged your address book, it damaged every accented name in it, and that is frequently hundreds of records. Second, the damaged copy still exists in whichever account it came from, so a later sync can quietly bring it back.

The right shape of fix is to identify every affected record, repair the stored value, and let the corrected value sync outward the way any other contact edit does.

How ContactOne repairs it

The repair is deterministic, on-device, and conservative by design:

  • It reverses the mismatch rather than guessing. ContactOne takes the stored text and tries interpreting it back through several legacy encodings - the ones that actually cause this in practice.
  • It scores every candidate. Each attempted repair produces a candidate string, and each candidate is scored on how plausible it is as real text.
  • It accepts only the best one. If no candidate scores well, nothing is proposed. This is the check that stops the app trading a mangled name for a differently mangled name, which is the one failure mode that would be worse than leaving it alone.
  • It includes the company field. Whatever mangled a contact's name almost always mangled their employer too, so companies are repaired in the same pass.

Because the whole thing is a byte-level transformation with a scoring gate, it needs no model, no network and no Apple Intelligence-capable device. It runs on every phone ContactOne supports.

Turning it on

This is the one cleanup rule that is off until you enable it, and deliberately so - most address books have nothing to repair, and a rule that never fires is just noise in a settings screen. ContactOne offers it as soon as it finds even one affected contact. If you get the offer, it is worth taking: the address books that have this problem usually have a lot of it.

Before anything is written you see the exact before and after for every affected contact, you select which ones to apply, and you can hide any contact you never want the rule to touch. Every applied cleanup is logged in History and can be undone - undo restores the exact prior bytes, not an approximation.

Questions

Why do my contact names show random symbols like Jörn?
The name was written in one text encoding and later read back in another - usually during an import or a sync through a third-party tool. The accented character was stored as two or three bytes, and the reading program interpreted each byte as its own character. What you see is the stored form, not a display bug.
Can I just retype the name to fix it?
You can, one contact at a time, but the mangled form is what is actually stored - so the fix has to be applied to the stored value. If the same import damaged three hundred contacts, retyping is impractical, and the same names usually come back on the next sync from whichever account still holds the damaged copy.
Does ContactOne send my names anywhere to repair them?
No. The repair is deterministic and runs entirely on your device. No contact data is uploaded, and no server is consulted.
Could the repair make a name worse?
It is built specifically to avoid that. ContactOne tries several legacy encodings, scores each candidate repair and only accepts the best-scoring one, so it will not trade one mangled name for a differently mangled name. You also see the exact before and after for every contact before applying, and every applied cleanup can be undone from History.

From 1,283 to 1,085.
198 fewer to scroll past.

Download on theApp Store Free · iPhone & iPad · iOS 16+