我使用命令.read script.sql
(我从https://www.sqlite.org/download.html下载的命令行工具sqlite3.exe)将数据导入现有数据库sqlite。
文件script.sql用notepad ++保存,编码 UTF8无BOM ,内容如下:
INSERT INTO "table1" VALUES('Các con cáo nâu nhanh chóng nhảy chó lười biếng');
INSERT INTO "table1" VALUES('速い茶色のキツネは、のろまなイヌに飛びかかっ');
INSERT INTO "table1" VALUES('빠른 갈색 여우가 게으른 개 점프');
但是在我运行命令之后,数据被转换为ansii,如下所示:
Các con cáo nâu nhanh chóng nhảy chó lÆ°á»i biếng
速ã„茶色ã®ã‚ツãƒã¯ã€ã®ã‚ã¾ãªã‚¤ãƒŒã«é£›ã³ã‹ã‹ã£
ë¹ ë¥¸ 갈색 여우가 게으른 ê°œ ì 프
有人知道如何解决问题吗?
答案 0 :(得分:1)
根据源代码,这是sqlite3工具中的一个错误。在交互模式的Windows上,它无条件地将所有输入从ANSI转换为UTF-8,甚至从文件转换为。
要修复此问题,shell.c
(合并版本3.11.1)的第488行可以更改为:
if( stdin_is_interactive && in == stdin){
刚检查过并修复了我的类似问题。