
Boost can and **should** decide - we use Unicode - and we use UTF-8 as all frameworks did.
Except for all the UTF-16 frameworks you cited above?
Short reminder: http://stackoverflow.com/questions/1049947/should-utf-16-be-considered-harmf... - Qt support UTF-16 only from version 4, before that Qt3 supported only UCS-2! (At it wasn't long time ago) - Java Supports UTF-16 from 1.5 before UCS-2 - Windows somehow supports UTF-16 starting from XP - MS SQL Server does not support UTF-16 yet (only UCS-2) I can continue... UTF-16 is a "historical mistake" because some (long) time ago Unicode supposed to be 16 bit, and in those days 16 bit character was very reasonable but it didn't worked - so UTF-16 was invented. No modern project should pick it as it give more problems the headache. Not to mention that before char16_t would be supported in all compiler it would be hard time to support it in C++. (and not wchar_t is not good for UTF-16) Just a small point before we may think of picking UTF-16. My $0.02 Artyom