Good points, @markbrough, but I think thereās a risk of being overly cautious here. Yes, it is possible that there is a major enterprise computer system somewhere in the world that uses emojis in its database primary keys, but Iād suggest that itās highly improbable, to the point that we can leave it out of consideration. Accented or non-Roman characters in a primary key are slightly less improbable, but anyone doing that would already have to convert them for interoperability with other systems.
On the other side of the scale, allowing non-alphanumeric, non-basic-punctuation characters opens a huge range of security holes in naive implementations, and a huge range of potential bugs. So we have to ask which cost is greater ā accommodating a theoretically-possible edge case (that we could help a single org work around if it happened), or adding the potential for bugs and security holes in every IATI software implementation. Thereās no zero-cost choice here.
(Note that I am a huge advocate of multilingual support in the human-readable data in IATI ā titles, descriptions, etc ā but not necessarily in the purely machine-readable stuff like XML tags, identifiers, etc).
D