错误! C:\ file \ example.db不是UTF-8编码的ipython notebook

时间:2016-03-10 22:15:07

标签: python sqlite utf-8 special-characters

请帮忙!我在ipython notebook中使用sqlite3来创建一个SQL数据库。我想我已经成功创建了数据库,但是当我去看它时,我收到编码UTF8错误。这是我的代码:

import sqlite3

conn=sqlite3.connect('example.db')
c=conn.cursor()
c.execute('''DROP TABLE PROFILE''')
c.execute('''CREATE TABLE PROFILE
        ( FIRSTNAME TEXT PRIMARY KEY unique   NOT NULL,
         LASTNAME        TEXT    NOT NULL,
         EMAILADDRESS    TEXT    NOT NULL,
         PASSWORD        TEXT    NOT NULL,
         CURRENTJOBTITLE    TEXT    NOT NULL,
         EDUCATION      TEXT    NOT NULL);''')
conn.close()


conn = sqlite3.connect('example.db')
c = conn.cursor()
conn.execute("INSERT INTO PROFILE (FIRSTNAME, LASTNAME, EMAILADDRESS, PASSWORD, CURRENTJOBTITLE, EDUCATION) \
  VALUES ('SALLYSUE','SUE','SALLYSUE@YAHOO.COM','ABC', 'STUDENT', 'GRAD')");
conn.commit()
conn.close()

这是我的代码的结尾。当我去查看创建的文件'example.db'时,我看到了以下错误:

Error! C:\Users\Lastname\CSE801\example.db is not UTF-8 encoded
Saving disabled.
See Console for more details

所以我无法看到我在SQL中创建的表。

我用Google搜索,发现人们说要把它放在我的代码中

import sys
reload(sys)
sys.setdefaultencoding()

一旦我这样做并尝试重新运行我的代码,代码就什么都不产生。它根本不会运行代码。有没有人有什么建议?谢谢!

3 个答案:

答案 0 :(得分:1)

我是Python的新手,也遇到过类似的问题。但是我很快意识到我试图从Jupyter访问一个zip文件夹,因此出现了错误!首先要解压缩并访问实际文件。

这听起来可能很基础,但是新程序员可能会遇到。

答案 1 :(得分:0)

答案 2 :(得分:0)

这可能是一个已知的Jupyter问题,特别是:https://github.com/jupyterhub/jupyterhub/issues/1572

我遇到了与ReportLab相同的问题。我创建了一个PDF文件,并试图从Jupyter Web界面(在“树”页面)中打开它。我收到了很多相同的错误消息。

要做的第一件事就是验证Jupyter以外的 文件是否已成功创建。

我唯一可以添加到GitHub问题文档的是,尽管在URL中使用“view”而不是“edit”的输出可能看起来是空白,但 view source 将显示Jupyter提供了一个正确格式的HTML页面,其中引用了正确形成的文件,但是有些东西阻止了文件进入PDF渲染器(或者你的数据库文件需要的任何东西)。

我仍在研究完整的解决方案,其中涉及我们尚未想到的Jupyter服务器的一些设置。找到解决方案后,我会回来编辑这篇文章。但是,请确保 UTF-8编码不是这里的根本原因,至少就文件本身而言。