请帮忙!我在 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()
Run Code Online (Sandbox Code Playgroud)
这是我的代码的结尾。当我查看创建的“example.db”文件时,我看到以下错误:
Error! C:\Users\Lastname\CSE801\example.db is not UTF-8 encoded
Saving disabled. …Run Code Online (Sandbox Code Playgroud) 我正在阅读Pandas"烹饪书"第1章,bikes.csv的例子.当我尝试将parse_dates更改为['Date']时,dayfirst = True,index_col就像这样:( 在行中:在[6]中,在烹饪书的第1章中)
fixed_df = pd.read_csv('../data/bikes.csv', sep=';', encoding='latin1', parse_dates=['Date'], dayfirst=True, index_col='Date')
Run Code Online (Sandbox Code Playgroud)
我明白了: ValueError:'Date'不在列表中. 在我写这篇文章之前,我试试这些解决方案:
第1名: utf-8 bom问题
据我所知,在utf-8中使用bom会产生一些问题并导致此错误.另外"Dates"系列tuple在阅读时被大熊猫接受?(很抱歉,如果我用错误的单词写,但这是我记得的,我不是Python的专业人员)我尝试使用这个建议转换编码:"utf-8-sig"编解码器给出一个没有BOM的unicode字符串:
fp = open("file.txt")
s = fp.read()
u = s.decode("utf-8-sig")
Run Code Online (Sandbox Code Playgroud)
即使我没有得到任何错误,它也没有用.
第二名: Vim 我尝试这些来改变编码
iconv -f UTF-8 -t ISO-8859-1 infile.txt > outfile.txt
Run Code Online (Sandbox Code Playgroud)
还有这个,
vim +"set nobomb | set fenc=utf8 | x" filename.txt
Run Code Online (Sandbox Code Playgroud)
它们都不起作用.
第3步:当我用vim打开它时,我尝试更改文件编码.
set fileencoding=utf-8-sig (以及其他可能的编码,如ANSI,ASCII等)我收到此错误
E213:无法转换(添加!无需转换即可写入)
你能帮帮我吗,我在哪里错过?提前谢谢了
我正在尝试将一堆文件从ASCII转码为UTF-8.
为此,我尝试使用iconv:
iconv -f US-ASCII -t UTF-8 infile > outfile
Run Code Online (Sandbox Code Playgroud)
-f ENCODING 输入的编码
-t ENCODING 输出的编码
该文件仍未转换为UTF-8.它是一个.dat文件.
在发布之前,我搜索了Google并找到了以下信息:
ASCII是UTF-8的子集,因此所有ASCII文件都已经过UTF-8编码.ASCII文件中的字节和"将其编码为UTF-8"所产生的字节将完全相同.它们之间没有区别.
上述链接仍无济于事.
即使它是ASCII格式,它也支持UTF-8,因为UTF-8是一个超级集合,另一方要接收我的文件需要文件编码为UTF-8.他只需要文件格式为UTF-8.
请给我任何建议.
试图编译一堆.c文件
(1)文件编译正常,使用 cc
cc -Wall -Wextra -Wunreachable-code -ggdb -O0 *.c
Run Code Online (Sandbox Code Playgroud)
(2)然后,我需要从最终输出创建一个静态库,以便在c ++程序中使用.所以我这样做:
ar cru liborientdb-c.a *.o
Run Code Online (Sandbox Code Playgroud)
(3)工作正常.但是,当我来编译包含第1行库的c ++程序testme.cpp时
(line 1 of testme.cpp)
#include "liborientdb-c.a"
Run Code Online (Sandbox Code Playgroud)
编译步骤:
cc testme.cpp
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
liborientdb-c.a:117:22: error: stray '\3' in program
liborientdb-c.a:117:263: warning: null character(s) ignored [enabled by default]
liborientdb-c.a:117:22: error: stray '\17' in program
liborientdb-c.a:117:265: warning: null character(s) ignored [enabled by default]
liborientdb-c.a:117:283: warning: null character(s) ignored [enabled by default]
liborientdb-c.a:117:22: error: stray '\22' in program
liborientdb-c.a:117:287: warning: null character(s) ignored [enabled by default]
liborientdb-c.a:117:22: error: …Run Code Online (Sandbox Code Playgroud) 我正在使用写文件
l_file := utl_file.fopen('OUT', 'a.txt', 'w');
utl_file.put_line(l_file, 'Rosëttenville');
Run Code Online (Sandbox Code Playgroud)
但我把它改成了
l_file := utl_file.fopen_nchar('OUT', 'a.txt', 'w', 32767);
utl_file.put_line_nchar(l_file, 'Rosëttenville');
Run Code Online (Sandbox Code Playgroud)
当我发现扩展的ASCII(代码127以上的字符)未正确写出时.但是第二个unicode版本也没有正确写入扩展字符.而不是Rosëttenville我得到Rosëttenville.有人知道怎么修这个东西吗?