數據插入異常,緣由是: (1054, "Unknown column '\ufeff95001' in 'field list'")

今天用python調用本地文本插入數據庫時出現標題錯誤,多了個ufeff。python

這涉及的編碼知識和各編碼之間的轉換問題。數據庫

方法1:只需在後面加入decode網絡

 

方法2:編輯器

用編輯器打開,選擇相應編碼編碼

選擇UTF-8無BOM編碼格式code

 

各編碼相關基礎知識 blog

 1. ANSCII: unicode

標準的 ANSCII 編碼只使用7個比特來表示一個字符,所以最多編碼128個字符。擴充的 ANSCII 使用8個比特來表示一個字符,最多也只能 
編碼 256 個字符。

2.  UNICODE:
使用2個甚至4個字節來編碼一個字符,所以能夠將世界上全部的字符進行統一編碼。

3.  UTF:
UNICODE編碼轉換格式,就是用來指導如何將 unicode 編碼成適合文件存儲和網絡傳輸的字節序列的形式 (unicode ->
str)。像其餘的一些編碼方式 gb2312, gb18030, big5 和 UTF 的做用是同樣的,只是編碼方式不一樣。

4. 在Windows下用文本編輯器建立的文本文件,若是選擇以UTF-8等Unicode格式保存,會在文件頭(第一個字符)加入一個BOM標識。
  什麼是BOM?
 
  BOM = Byte Order Mark
 
  BOM是Unicode規範中推薦的標記字節順序的方法。好比說對於UTF-16,若是接收者收到的BOM是FEFF,代表這個字節流是Big-Endian的;若是收到FFFE,就代表這個字節流是Little-Endian的。
UTF-8不須要BOM來代表字節順序,但能夠用BOM來代表「我是UTF-8編碼」。BOM的UTF-8編碼是EF BB BF(用UltraEdit打開文本、切換到16進制能夠看到)。因此若是接收者收到以EF BB BF開頭的字節流,就知道這是UTF-8編碼了。
相關文章
相關標籤/搜索