1. 程式人生 > >python2.7解決中文編碼問題

python2.7解決中文編碼問題

    粗略地介紹下編碼知識,首先我們認為是位元組是面向計算機的,字元是面向人類的,相互的轉換就是解碼和編碼,在各種編碼中,ASCII碼是7位,用不到一個位元組,7個位元來表示字元,這樣最多也只有127個字元,ISO8859-1用一個位元組8個位元表示字元,可以表示256個字元,GB2312是用2個位元組,16個位元,可以包含7000多個字元,其次UNICODE(Universal Multiple-Octet Coded Character Set”,簡稱 UCS, 俗稱 “unicode”)包含上述各種編碼的字元,並且每一個字元都具有編碼的唯一性,隨著網際網路的快速發展,傳輸格式UTF(UCS Transfer Format)標準必須統一,8位一傳輸就是UTF-8,以後又出現了UTF-16,由GBK變成UNICODE叫做DECODE,由UNICODE變成GBK叫做ENCODE,下面我們看下在PYTHON中的程式碼

import sys

print sys.stdin.encoding

print sys.stdout.encoding

input-str=raw_input(u'輸入:'.encode(sys.stdout.encoding))

f=open('test.txt','w')

f.write(input-str.decode(sys.stdin.encoding).encode('utf-8'))

f.close

通過對系統輸入輸出編碼的識別,可以避免由於中文帶來的亂碼

相關推薦

python2.7解決中文編碼問題

    粗略地介紹下編碼知識,首先我們認為是位元組是面向計算機的,字元是面向人類的,相互的轉換就是解碼和編碼,在各種編碼中,ASCII碼是7位,用不到一個位元組,7個位元來表示字元,這樣最多也只有127個字元,ISO8859-1用一個位元組8個位元表示字元,可以表示256個字

python2.7;解決中文無法正常顯示問題

# coding=utf-8 #第一行新增,以下8種寫法,預設ascii編碼所以要重定義編碼格式以支援中文 # coding= utf-8 # encoding=utf-8 # encoding=

python2.7中文問題解決

Python2.7預設使用的字符集是ASCII,並不支援中文字元的顯示與處理,因些如果要在Python中處理中文就需要進行一些額外的處理。 一、在開頭處宣告Python使用UTF-8編碼顯示字元 #/usr/bin/env python # -*- coding: UTF

Python2.7處理中文路徑時解決問題

解決 pan 遇到 tdi string key nbsp class -s Python2.7處理中文路徑時遇到了些問題 解決方法如下 import os path=‘./測試‘ upath=unicode(path,‘utf-8‘)

centos7 安裝python3.6.3 替換python2.7 解決 yum問題

先記一下筆記,有時間在考慮排版。 1. 設定語言:中文 vi /etc/locale.conf LANG=zh_CN.UTF8 2.更新pip(不知道有沒有用) pip install --upgrade pip 3.更新源 yum -y install zlib* bzip2-deve

Ubuntu 16.04 MySQL 5.7解決中文亂碼問題

        作為一個初學者,我最近在用scrapy爬頂點小說,得到的資料想存到mysql裡面,所以又折騰了一下mysql的配置。結果發現mysql想來對中文都不友好, 只能修改my.cnf使得預設編碼方式為utf8。關於具體的配置,網上各種各樣的部落格都講的比較詳細了,我

python2.7處理unicode編碼問題

一、 字串在Python內部是unicode編碼,所以從資料庫調取資料,又或者request一個api返回的資料都是unicode編碼形式。想要支援中文,建議將編碼轉為utf-8。下面介紹兩個相關函式。 1、decode():將其他編碼的字串轉換成unico

關於python2.7從數據庫讀取中文顯示亂碼的問題解決

pri str col 問題 ffffff mysqld rom put ssa #!/usr/bin/env python # _*_ coding:utf-8 _*_ import MySQLdb import sys str = raw_input("pleas

CentOS 7下MySQL5.7的修改字符集編碼為UTF8(解決中文亂碼問題)

【From:】http://www.2cto.com/database/201311/255324.html 一、登入MySQL檢視用show variables like 'character%';下字符集,顯示如下: 1 2 3 4 5 6 7 8 9 10 11

Python2.7 中文字元編碼 & Pycharm utf-8設定、Unicode與utf-8的區別

Python2.7 中文字元編碼 & Pycharm utf-8設定、Unicode與utf-8的區別 [email protected] 作者:Zhouwan  2017-6-6  一、關於編碼和亂碼,有以下幾個重要的概念需要搞清楚:     二、Pycharm 設定編碼, 可以

python2.7下不能正常輸出中文陣列某個元素的解決辦法

問題: 嘗試輸入中文陣列中一個元素時候,輸出為亂碼 in[1]:gan = '甲乙丁戊己庚辛壬癸' in[2]:print gan out[1]:甲乙丁戊己庚辛壬癸 in[3]:print gan[2

解決python2.7.x在windows系統下檔案寫入中文報錯

分析:windows下cmd預設的編碼是ASCII編碼 ,windows的中文環境下編碼是GBK 方法一:在儲存輸出流儲存的時候做一個對文字GBK編碼,在輸出到檔案 如下 title = t

Python2.7 xlabel 無法顯示中文解決方法

第一行新增:    #coding=utf-8    作用是重定義編碼格式以支援中文。 from matplotlib.font_manager import FontProperties font_set = FontProperties(fname=r"c:\windo

Python2.7編碼問題:UnicodeDecodeError: 'ascii' codec can't decode byte 0xe8 in position...解決方法

xe8 import encoding utf utf-8 byte bsp imp reload 解決方法: 在Python程序最前面加上以下語句: import sys reload(sys) sys.setdefaultencoding(‘utf-8

python2.7 編碼問題整理

tro 編碼方式 這樣的 創建 不同 表示 ice 文本 logs 本文轉自:http://www.cnblogs.com/fnng/p/5008884.html。 不能不說,蟲師的blog文章質量非常值得借鑒,通篇讀下來,解決了許多的問題。 鑒於良好的收藏習慣,轉載到此。

解決Python2.7的UnicodeEncodeError: ‘ascii’ codec can’t encode異常錯誤

def 好的 列數 tab 2.7 模式 fault 應用 ber 今天準備將某SQLite數據庫的內容導出到文本文檔(*.txt)中,設計的Python程序如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19

centos6.7下安裝mysql5.6.22同時解決中文亂碼問題

系統服務 iptable nod -- 1.7 亂碼問題 dport 5.6 復制 1.下載 http://dev.mysql.com/downloads/mysql/ 或者使用wget下載: wget http://dev.mysql.com/get/Do

PHP輸出中文亂碼解決編碼終結者

php 中文亂碼 編碼學習PHP之初,根本就沒有意識到過有編碼那回事兒,隨著對中文的輸出越來越多,遇到輸出亂碼的情況也就更加普遍了。最早我們懷疑是數據庫編碼的問題,於是在PHP代碼中的解決的辦法是:mysql_query("SET NAMES UTF8"); 但這樣做了後,網頁顯示的仍然是亂碼,於是有修改

Python2.7升級到3.0 HTMLTestrunner報錯解決方法

html testrunner 無法運行 裝了python 3.0後會出現運行HTMLTestrunner報錯,因為裏面的腳本還是用的2.7版本上的 語法。現在將需要修改的地方總結如下: 打開你的HTMLTestruner.py文件:第94行,將import StringIO修改成import i

解決全站字符亂碼(POST和GET中文編碼問題)

{} tomcat ont throws turn nco cat doget pro 1 說明 亂碼問題: 獲取請求參數中的亂碼問題; POST請求:request.setCharacterEncoding(“utf-8”); GET請求:new String(r