I struggle with non-ASCII characters, but unflatten seems to work correctly for me. How does my input differ from yours?
Input:
digraph U {
eee -> {
a [label="abc æ z"]
2[label="ü?"];
3[label="ä?"];
4[label="ö?"];
d [label=" well ● ok"]
}
}
Command (Linux) f=unicode.gv; unflatten -l4 $f | dot -Tpng >o1.png
Giving: