Fehler! C:\file\example.db nicht UTF-8 kodiert ipython notebook
bitte Hilfe!!! Ich bin mit sqlite3 in ipython notebook erstellen einer SQL-Datenbank. Ich denke, ich habe erfolgreich die Datenbank erstellt, aber wenn ich gehe, um es zu betrachten ich erhalte eine Kodierung UTF8 Fehler. Hier ist mein code:
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','[email protected]','ABC', 'STUDENT', 'GRAD')");
conn.commit()
conn.close()
Dies ist das Ende von meinem Code. Wenn ich nach Blick auf die erstellte Datei 'Beispiel.db' dies ist, wo sehe ich die folgende Fehlermeldung:
Error! C:\Users\Lastname\CSE801\example.db is not UTF-8 encoded
Saving disabled.
See Console for more details
So, ich bin nicht in der Lage zu sehen, die Tabelle erstelle ich in SQL.
Habe ich gegoogelt dies und fand, dass Leute sagten, um dies in meinen code
import sys
reload(sys)
sys.setdefaultencoding()
Gut, sobald ich dies Tue und versuche erneut mein code-der code, der produziert nichts. Es wird nicht führen Sie den code. Hat jemand irgendwelche Vorschläge? Danke!
- 1) geben Sie Bitte code in code-block, nicht im Bild. 2) Wo ist der eigentliche code, der den Fehler auslöst? 3) Vergessen, dass
sys.setdefaultencoding()
hat nichts zu tun mit der Kodierung - Ich bearbeitet meine Frage. Hoffentlich ist es klarer. Es gibt keine Fehler, bis ich wieder zu sehen meine SQL-Tabellen. Dies ist, wo sehe ich die UTF-8-codierte Nachricht
- Arbeitet für mich, wenn ich entfernen Sie die
DROP TABLE
. Sind Sie bei der Erstellung der DB außerhalb von Python? - Ich denke, Sie versuchen, öffnen Sie die Datenbank in Jupyter built-in text-editor. Das wird nicht funktionieren - SQLite-Datenbanken sind binäre Dateien, und Sie müssen eine spezielle Anwendung zu untersuchen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich bin ein absoluter Neuling in Python und Stand vor dem ähnlichen Problem. Aber ich merkte schnell, ich war versucht, Zugriff auf ein zip-Ordner aus Jupyter und daher der Fehler!! Entpacken und den Zugriff auf die eigentliche Datei war zu tun in den ersten Platz.
Das klingt sehr einfach, aber es kann auch passieren, um neue Programmierer.
Encoding der Datei selbst ist nicht auf utf-8.
Können Sie ändern die Datei-Zeichenkodierung, indem Sie die folgenden Schritte, die in diesen links:
http://mindspill.net/computing/linux-notes/determine-and-change-file-character-encoding/
Holen Sie sich die Kodierung einer Datei in Windows
Beste Weg, um text zu konvertieren, Dateien zwischen verschiedenen Zeichensätzen?
Dies kann eine bekannte Jupyter Problem, und zwar: https://github.com/jupyterhub/jupyterhub/issues/1572
Erlebte ich das gleiche problem mit ReportLab. Ich erstellt eine PDF-Datei, und versuchte, es zu öffnen aus der Jupyter web-interface (auf das "Baum" - Seite). Ich bekam sehr viel die gleiche Fehlermeldung.
Das erste, was zu tun ist, überprüfen Sie, außerhalb der Jupyter, dass die Datei erfolgreich erstellt wurde.
Das einzige, was ich hinzufügen können, um die Dokumentation auf GitHub Problem ist, dass, obwohl die Ausgabe über "Ansicht" in der URL anstelle von "Bearbeiten" können sich leer, view source wird sich zeigen, dass Jupyter serviert eine korrekt gebildete HTML-Seite mit einem Verweis auf die korrekt gebildet-Datei, aber dass etwas verhindert wird, dass die Datei von einem PDF-renderer (oder was auch immer Sie für Ihre DB-Datei).
Ich bin noch auf der Arbeit komplett-Lösung, die beinhaltet einige Einstellungen für die Jupyter server, wir haben nicht herausgefunden noch. Ich komme zurück und Bearbeiten Sie diese post, wenn die Lösung gefunden ist. Seid jedoch versichert, dass UTF-8-Codierung ist nicht die Ursache hier, mindestens so weit wie die Datei selbst betroffen ist.