python 中中文編碼及輸出問題

2021-06-22 01:05:15 字數 1220 閱讀 3559

在計算機中僅支援英文本元,也就是ascii字元,他包含一些字元和標點,用乙個位元組表示。但是中文字元編碼需要兩個位元組,如果中文字元和ascii混在一起就會出現錯誤。兩個位元組的中文編碼有gb2312,gbk,big5。為了滿足不同的語言包含在統一編碼字符集中,國際上流行的是unicode,他滿足跨語言的文書處理。

在python中,如果檔案.py使用中文,則需要在檔案的第一行使用如下語句:

# -*- coding:utf-8 -*-

其中utf-8表示使用utf-8字符集編碼,也就是unicode的字符集,使用上述語句僅指明指令碼中包含的非ascii碼轉換為utf-8編碼。

例# -*- coding:utf-8 -*-

# file: chinese.py

chinese='''

在python 中使用中文

需要注意字元編碼的問題

可以使用以下幾種幾種字元編碼

utf-8,cp936,gb2312,

'''print chinese

python 互動命令視窗輸出》 ******************************== restart ******************************==

>>>

在python 中使用中文

需要注意字元編碼的問題

可以使用以下幾種幾種字元編碼

utf-8,cp936,gb2312,

>>>

但是如果在命令列介面輸出字元則需要設定cp936編碼,例如下面輸出

可以看到是亂碼。這是因為,windows的命令列是採用的cp936編碼,而上述的編碼是utf-8,才導致亂碼。解決的方案是,在指令碼中使用decode和encode函式對上述的字元重新解碼和編碼。

在python執行結果

如下圖

而在dos命令環境中輸出:

PHP中json encode中文編碼的問題

php的json擴充套件自帶的json encode函式,如果對含有中文的字元進行編碼時,會自動轉換成unicode編碼。a array city 北京 abcd天津 echo json encode a n debian test server home php php test1.php 現在有...

PHP中json encode中文編碼的問題 學習

由於php的json擴充套件自帶的函式json encode會將漢字轉換成unicode碼 所以我們在這裡用自定義的json encode,這個函式不會將漢字轉換為unicode碼 public function customjsonencode a false if is string a els...

spring mybatis中文亂碼編碼問題

配置檔案 這裡有一點需要注意的是,在xml配置檔案中,需要將 符號轉義,所以這裡要寫成 id ds class org.apache.commons.dbcp.basicdatasource name driverclassname value com.mysql.jdbc.driver name ...