What characters are allowed in the field “id” of a c3 entity type?
The “id” field is a string, so there is practically no limit to the characters that can be stored. From my testing, I was able to store all visible ASCII characters in first, last, and central positions. I also did limited testing with UTF-8 and Unicode characters, both with similar results.
The length is the only limitation. By default, the id field is 64 bytes long. UTF-8 characters are stored as 1 byte and Unicode characters are 2 bytes. The id field can store 128 ASCII only characters OR 64 UTF-8 characters OR 32 Unicode characters.
I recommend not allowing ’ or " characters in your ids. Often engineers will manually construct filter strings by string concatenation, without escaping the id. This can cause hard to debug failures that only happen for certain records.
To avoid this problem, always use the Filter type (its a util function before 7.9) which will escape strings for you!