SQLite UTF-8 编码

Kel*_*ett 8 sqlite utf-8

我尝试运行.read FILE具有 UTF-8 字符串的脚本 ( )。我使用 pragma 命令:

PRAGMA encoding="UTF-8";
Run Code Online (Sandbox Code Playgroud)

但我得到了错误的字符。如果我自己创建表并插入值,则一切正常。我应该怎么做才能正确运行脚本?

顺便说一句,我检查了很多关于stackoverflow和其他资源的问题/文章+阅读文档。我尝试了一些方法,例如chcp 65001在Windows中使用cmd然后sqlite3在当前窗口中打开。但它没有帮助。

CL.*_*CL. 7

PRAGMA encoding设置不会改变您使用 SQLite API 的方式。并且无法更改现有数据库的编码。不要使用它。

sqlite3.exe命令行shell不使用UTF-8字符的工作。(除非可能是最新版本。)不要使用它。

如果您自己的脚本和应用程序使用以 UTF-8 编码的字符串,并且如果您使用 sqlite3.exe检查结果数据库之外的任何工具,那么它将起作用。


Kel*_*ett 4

您需要做的就是:

  1. 打开cmd并更改编码( chcp 65001)

  2. 从当前窗口运行 sqlite3.exe

  3. 更改编码 ( PRAGMA encoding="UTF-8";)

  4. 创建正确的 UTF-8 脚本。

  • 答案显然是不正确的。请参阅 CL 的答案或阅读[文档](https://www.sqlite.org/pragma.html#pragma_encoding) (4认同)