내 C 프로그램에서 sqlite3_bind_text16()
을 사용하여 sqlite 행의 특정 텍스트 열 (WVARCHAR)을 업데이트하려고하지만 불행히도 L"e"
과 같은 ASCII 인코딩 문자 만 포함 된 문자열은 올바르게 업데이트되지만 유니 코드 문자를 포함하는 다른 문자열은 L"é"
은 비 ASCII 문자가 올바르게 저장되지 않아서 업데이트됩니다. 여기에 내가 기능을 사용하는 방법을 예입니다SQLite3 : 비 ASCII 문자가 올바르게 업데이트되지 않았습니까?
sqlite3_bind_text16(stmt, 1, L"e", -1, SQLITE_STATIC); //e is stored correctly
sqlite3_bind_text16(stmt, 2, L"é", -1, SQLITE_STATIC); //é not stored correctly: modified
내가 시험을 나의 프로그램의 SQLite는 데이터베이스 파일에 대한 SQLite는 쉘을 사용하여 선택 명령을 수행하여.
어떻게 해결할 수 있습니까?
비 ASCII 문자는 어떻게됩니까? –
http://picsee.net/upload/2014-05-14/42d9402a739d.png – user3457200
Windows 명령 셸은 SQLite의 UTF-8 문자를 올바르게 처리하지 않습니다. 다른 프로그램을 사용하여 데이터베이스 내용을 표시하거나'SELECT hex (MyColumn) FROM taxdeclaration; '의 출력을 표시하십시오. –