1. 程式人生 > >python中遇到包含UTF-8編碼中文的列表或字典的輸出的解決方法

python中遇到包含UTF-8編碼中文的列表或字典的輸出的解決方法

今天,在除錯程式時,遇到了一個編碼問題,折騰了好久,看到了一篇部落格:點選開啟連結 才解決了問題,現在摘錄如下,以免今後遇到同樣的問題再次折騰。

在python 下面一個包含中文字串的列表(list)或字典,直接使用print會出現以下的結果:

dict = {"asdf": "我們的python學習"}
print dict
{'asdf': '\xe6\x88\x91\xe4\xbb\xac\xe7\x9a\x84python\xe5\xad\xa6\xe4\xb9\xa0'}
在輸出處理好的資料結構的時候很不方便,需要使用以下方法進行輸出:
import json
print json.dumps(dict, encoding="UTF-8", ensure_ascii=False)
{"asdf": "我們的python學習"}

總結:Python中編碼問題的坑很深,需要多多積累!

相關推薦

python遇到包含UTF-8編碼中文列表字典輸出解決方法

今天,在除錯程式時,遇到了一個編碼問題,折騰了好久,看到了一篇部落格:點選開啟連結 才解決了問題,現在摘錄如下,以免今後遇到同樣的問題再次折騰。 在python 下面一個包含中文字串的列表(lis

Python關於coding=utf-8以及中文字元前加u的解釋

寫了很久的Python了,每次寫之前都要在開頭加上coding=utf-8,只知道是設定編碼格式,但並沒有太在意,今天在寫socket程式設計時才發現編碼格式的重要性。 一、關於開頭coding=utf-8 開頭的coding=utf-8和coding:utf-8的作用是一

關於Python文件讀取UTF-8編碼檔案問題

引用codecs模組,來判斷前三個位元組是否為BOM_UTF8。如果是,則剔除\xef\xbb\xbf位元組 import codecs def download_ipurl(self,destpath): try: f = open(destpath,'r')

Asp.net utf-8 編碼中文亂碼完全解決方案

 Unicode 編碼正逐漸成為多語言支援的最通用解決方案。採用 Unicode 編碼的中文網頁能在各種平臺、各種類的瀏覽器上都得到很好的相容。utf-8 是 Unicode 的一種儲存/交換實現方式。對於不同數值範圍的 Unicode 碼,它採用變長的方式來編碼:所有

pythonsys.setdefaultencoding('utf-8')的作用

在python中,編碼解碼其實是不同編碼系統間的轉換,預設情況下,轉換目標是Unicode,即編碼unicode→str,解碼str→unicode,其中str指的是位元組流,而str.decode是將位元組流str按給定的解碼方式解碼,並轉換成utf-8形式,u.encode是將unicode類按給定的編碼

如何選擇MySQL資料庫GBK與UTF-8編碼

在MySQL中,如果資料庫只需要支援一般中文,資料量很大,效能要求也比較高,那麼就最好選擇GBK,因為相對於UTF-8而言,GBK佔用的空間較小,每個漢字只佔2個位元組,而UTF-8漢字編碼需要3個位元組,這樣可以減少磁碟I/O、資料庫cache,以及網路傳輸的時間,從而提高

在Java讀寫UTF-8編碼檔案

 在C#中,採用System.IO.StreamReader和System.IO.StreamWriter直接讀寫UTF-8編碼的檔案,因為在這兩個類可以指定讀取或者寫入檔案的編碼格式,而其預設編碼則是UTF-8。 而在Java中,如果我們用java.io.FileReade

python使用pip安裝報錯:Fatal error in launcher... 解決方法

python安裝了2和3版本在 cmd 中用pip報的錯誤為:Fatal error in launcher:Unable to create process using 這是因為你安裝了python3和python2在你的windows下,並且在環境變數中分別配置了pip,可是並沒有區分pip3還是p

讀取文字出現 鍩 * 系列亂碼錯誤(UTF-8 BOM問題)的原因及解決方法

現象 讀取文字時經常會出現鍩*系列錯誤。 例1:鍩縣,其實開頭的文字是h,http被顯示為鍩縣ttp 例2:鍩縫,其實開頭的文字是p,public被顯示為鍩縫ulic 只要文字的首字母為鍩的都屬於這類錯誤,在Python、Java、PHP等等使用過程中都

Python的Unicode編碼UTF-8編碼

2個 傳輸 硬盤 中文字符 結合 2.7 客戶端 有一點 來看 下午看廖雪峰的Python2.7教程,看到 字符串和編碼 一節,有一點感受,結合 崔慶才的Python博客 ,把這種感受記錄下來: ASCII碼:是用一個字節(8bit, 0-255)中的127個字母表示大

python的字符串編碼問題——2.理解ASCII碼、ANSI碼、Unicode編碼UTF-8編碼

unicode編碼 統一 col 簡單 utf 文字 stand 二進制 pan ASCII碼:全名是American Standard Code for Information Interchange,ASCII碼中,一個英文字母(不分大小寫)占一個字節的空間,範圍0x0

Python編碼問題:ASCII碼 Unicoden編碼 UTF-8編碼

分享 動態 src 服務 .com 傳輸 ascii 函數計算 row 編碼 字符串是一種數據類型,但是,字符串比較特殊的是還有一個編碼問題。 因為計算機只能處理數字,如果要處理文本,就必須先把文本轉換為數字才能處理。最早的計算機在設計時采用8個比特(bit)作為一個字節(

php從資料庫讀取編碼utf-8中文內容輸出到瀏覽器顯示問號的解決方案

要保證瀏覽器的編碼,以及資料庫讀取出來的編碼都是一致的utf-8. 資料庫讀取的時候在mysqli_connect()之後要設定連線字元編碼mysqli_query($db, “set names ‘utf8'”);這樣才能保證在瀏覽器顯示的結果為中文。 瀏覽器編碼可以通

在MyEclipse設置jsp頁面為默認utf-8編碼

技術 logs utf tor and ren 創建 菜單 下拉框 在MyEclispe中創建Jsp頁面,Jsp頁面的默認編碼是“ISO-8859-1”,如下圖所示: 在這種編碼下編寫中文是沒有辦法保存Jsp頁面的,會出現如下的錯誤提示: 因此可以設置Jsp默認的編碼為

所有的字符編碼由System.Text.Encoding類獲取所有的字符編碼如Unicode編碼、 GB18030編碼、(UTF-8) 簡體中文(GB2312)

mac net 挪威 head sun -m abi cal 篩選 本頁列出來目前window下所有支持的字符編碼 ---通過 System.Text.Encoding.GetEncodings()獲取,裏面可以對其進行查詢,篩選,對同一個字符,在不同編碼進行查看和分

寫一個腳本批量轉換項目GB2312編碼的文件為UTF-8編碼

for 腳本 一個 bash iconv lua In don convert #!/bin/bash convert_file() { for file in `find .` do if [[ -f $file ]] t

UTF-8編碼下'u7528u6237'轉換為中文漢字'用戶'

bsp 16px -a 設置圖 進行 開發 ngs color tin UTF-8編碼下‘\u7528\u6237‘轉換為中文‘用戶‘ 一、前言 有過多次,在開發項目中遇見設置文件編碼格式為UTF-8,但是打開該文件出現類似\u7528這樣的數據,看也看不懂,也不是

linux 下URL UTF-8編碼、GB2312編碼與漢字之間的轉換

下面是UTF-8編碼的轉換程式碼 #include <string.h> #include <stdio.h> #include <stdlib.h> /* 16進位制字元表 */ static const char c2x_table[] = "0

Sublime 使用python utf-8編碼格式

{     "cmd": ["C:/Users/Administrator/AppData/Local/Programs/Python\/Python35/python.exe", "-u", "$file"],     "file

php iconv() utf-8 編碼字串轉中文GB2312出錯的問題

PHP iconv 函式轉gb2312的bug解決方法 問題:發現iconv在轉換字元"—"到gb2312時會出錯: iconv( "UTF-8", "gb2312//IGNORE" , $data)  ignore的意思是忽略轉換時的錯誤,如果沒有ignore引數,所有該字元後面