码迷,mamicode.com
首页 > 其他好文 > 详细

中文乱码——编码问题

时间:2017-09-30 16:28:07      阅读:301      评论:0      收藏:0      [点我收藏+]

标签:usr   pdf   gis   base   字体库   原因   enc   load   gen   

编码问题

1.读取文件乱码
原因:python2.7默认使用unicode编码读取文件
方法:在文件头部设置编码#coding=utf-8

2.写入文件乱码
原因:python2.7默认使用unicode编码
方法:设置默认输出编码为utf-8即可
import sys
reload(sys)
sys.setdefaultencoding(‘utf-8‘)

3.在使用reportlab.pdfgen 中的画布 canvas输出乱码
原因:reportlab中没有中文字体
方法:引入中文字体
from reportlab.pdfgen import canvas
from reportlab.pdfgen.canvas import Canvas  
from reportlab.pdfbase import pdfmetrics  
from reportlab.pdfbase.cidfonts import UnicodeCIDFont
#字体一:CID字体(不推荐)
pdfmetrics.registerFont(UnicodeCIDFont(‘STSong-Light‘))
from reportlab.pdfbase.ttfonts import TTFont
#字体二:linux系统字体(推荐)
import os
from reportlab.pdfbase import pdfmetrics,ttfonts
pdfmetrics.registerFont(ttfonts.TTFont(‘zenhei‘,os.path.join("wqy-zenhei", ‘wqy-zenhei.ttc‘)))
pdfmetrics.registerFont(ttfonts.TTFont(‘microhei‘,os.path.join("wqy-microhei", ‘wqy-microhei.ttc‘)))
canvas.Canvas("helloworld.pdf")
Canvas.setFont(‘zenhei‘,12)
字体一:STSong-Light宋体是CID字体,在本方案处理中文没有问题但是处理英文字体会紧贴在一起,非常不美观。
字体二:是自己下载的字体,从linux字体库/usr/share/fonts/下引入的os.path.join("字体文件夹", ‘字体文件名‘)
zenhei文泉驿正黑(推荐)
microhei文泉驿微米黑,换行会出现一些特殊符号像两个完全闭合的中括号[]

中文乱码——编码问题

标签:usr   pdf   gis   base   字体库   原因   enc   load   gen   

原文地址:http://www.cnblogs.com/plxm/p/7615027.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!