SQLite Forum

null character sorts greater than 0x7f and less than 0x80
Login
I don't insist on anything, and the Tcl script in question is not doing
anything other than using the interface distributed along with SQLite to access
a database and store values using variable substitutions performed by SQLite.
I'm working in a language where every value is a Unicode string, and am storing
these strings the database.  I'd like these stored values to be useful
regardless of which SQLite interface is used on which platform to access the
database.

Neither the the SQLite documentation for the Tcl interface nor the SQlite
documentation itself provides any clue that some Tcl internal non-standard utf
representation is what ends up stored as "text", and there's a reason for that:
It's a bug.  The issue here is that the SQLite Tcl interface is not doing its
job.  It is the component that is in the position to translate the Tcl internal
representation of a value into standard utf-8.  The Tcl C API provides routines
to do that.

If text strings in SQLite may not include the null character, that should be
clearly documented, and the definition of "text" that is not true should be
replaced with one that is.