Character Set used in v2 messages
HL7 doesn't have its own character set. It has a mechanism for escaping multibyte characters, this is mainly/only used by systems that would otherwise mangle a multibyte character (e.g. lots of US 7-bit ASCII systems)..
UTF-8 is the defacto standard encoding for v2 messages in Northern America, in Europe it's ISO 8859-1 (Latin-1). UTF-8 is the commonly used encoding for UNICODE. Note that UNICODE is an example of a character set, it is not a character encoding. Use "UNICODE UTF-8" in MSH.18 and you're all set.
- Try to avoid using operating system specific character pages (e.g. Windows cp1252, Mac code pages, EBCDIC variations)