Since you asked specifically about Cypher, the following query is an example of how to sort umlaut characters as if they were their ligature equivalents (for example, treating βΓβ as if it were βUEβ).
WITH ['Dorfer', 'DΓΆrfener'] AS names
UNWIND names AS name
RETURN name
ORDER BY
REDUCE(s = name, x IN [
['Γ€', 'ae'], ['Γ', 'AE'],
['ΓΆ', 'oe'], ['Γ', 'OE'],
['ΓΌ', 'ue'], ['Γ', 'UE']] |
REPLACE(s, x[0], x[1]));
"DΓΆrfener", "Dorfer" - .
, REPLACE name. Java, names .