Sqlite3(终端)无法正确解码字符

时间:2017-07-11 20:30:52

标签: ubuntu terminal sqlite

我正在学习一个教程,在那里我被要求从sqlite3数据库创建,插入和读取数据(并使用ascii模式显示)。

然而,当我发出读取命令时,我得到以下输出: output from terminal after reading from sqlite3 database

当我将其粘贴到文本编辑器时,会产生2GarfieldTabby18

我不确定它是sqlite3本身,还是终端问题。任何人都可以告诉我这些方形符号的专业名称是什么,它们为什么出现(我想它必须对编码做些什么),以及如何解决它们?

我在Ubuntu 16.04上运行。 Sqlite版本3.11.0

在我的终端中运行locale返回:

LANG=en_US.UTF-8
LANGUAGE=en_US:en_GB:en_AU:en_CA:en
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC=en_GB.UTF-8
LC_TIME=en_GB.UTF-8
LC_COLLATE="en_US.UTF-8"
LC_MONETARY=en_GB.UTF-8
LC_MESSAGES="en_US.UTF-8"
LC_PAPER=en_GB.UTF-8
LC_NAME=en_GB.UTF-8
LC_ADDRESS=en_GB.UTF-8
LC_TELEPHONE=en_GB.UTF-8
LC_MEASUREMENT=en_GB.UTF-8
LC_IDENTIFICATION=en_GB.UTF-8
LC_ALL=

1 个答案:

答案 0 :(得分:0)

我遇到了同样的事情。我正在接受Udacity的培训,在sqlite3终端中,我遇到了同样的事情。我也正在运行Ubuntu 16.04,而我的sqlite3版本也是3.11.0。

除了您想到的将其粘贴到编辑器中的解决方案之外,还有以下解决方案:

在sqlite3终端中当请求.mode ascii响应时,我在ascii文本中得到分隔符。为了避免这些迹象,我需要在.mode ascii之后输入.separator“”“”命令,然后再请求从pets中选择select *。 (pets.db)数据库。

这里唯一的是重复的。每次必须重复同一行代码。

我想知道对此是否有永久解决方案。