Maybe there needs to be some clarification here. All the sqlite functions take const char* for string parameters. What I'm not clear on is the intended effect of the SQLITE_UTF8 macro. Which string parameters of which functions are intended to be UTF-8 encoded if the SQLITE_UTF8 macro is defined? I have assumed that it is only those string parameters which are SQL statements.
Tim > -----Original Message----- > From: Rob Fowler [mailto:[EMAIL PROTECTED] > Sent: Friday, November 21, 2003 3:14 PM > To: [EMAIL PROTECTED] > Subject: RE: [sqlite] Win32 coders: change os.c? > > > Thanks for your thoughts. Your first proposal (as I > understand it) creates unnecessary steps to end up with data > that Sqlite can use. Here's an example of the round trip > flow of data in your proposal: > > User input (UTF-16) > -> UTF16_To_UTF8() > -> sqlite_function() > -> MultiByteToWideChar() > -> Win32FunctionW() > -> WideCharToMultiByte() > -> Data Sqlite can use > > Why the conversion back to wide characters within SQLite? In > my proposal, the flow is as follows: > > User input (UTF-16) > -> UTF16_To_UTF8() > -> sqlite_function() > -> Win32FunctionA() > -> Data Sqlite can use > > Your second proposal is to prevent me from using UNICODE > within my parent application? Can't do that. Naïve > programmers will already know something needs to be done > (convert UTF-16 to UTF-8) in order to use the sqlite > functions in the first place. Their app won't compile if > they try to feed in wide strings. > > Any follow-up thoughts? > > Rob > > -----Original Message----- > From: Arthur Hsu [mailto:[EMAIL PROTECTED] > Sent: Friday, November 21, 2003 2:24 PM > To: [EMAIL PROTECTED] > Subject: Re: [sqlite] Win32 coders: change os.c? > Importance: Low > > > Not quite. IMHO, it's better that os.c catches this UNICODE > macro, and then > > uses MultiByteToWideChar and WideCharToMultiByte inside. The > other way is > > to use an assert(FALSE) to prevent compilation using UNICODE, > then the naive > > programmers like me will know something needs to be taken care of. > > > > -Arthur > > > > ----- Original Message ----- > > I think you can see where I'm going with this. To fix the problem, I > > propose that for the functions listed above, os.c should > always call the > > 'real' function name, and it should be the one ending with an > 'A'. As it > > stands, the os.c has no ability to deal with wide characters, > so there is no > > reason it should ever call the wide version of these Win32 functions. > > > > Thoughts? > > > > Regards, > > Rob Fowler > > > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]