欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python pdfkit 中文亂碼問題的解決方案

 更新時間:2021年03月08日 10:23:26   作者:piaotiejun  
這篇文章主要介紹了python pdfkit 中文亂碼問題的解決方案,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

使用python pdfkit生成pdf文件中遇到中文亂碼問題

1.生成的文件名不能帶有中文字符

2.生成的pdf內(nèi)容中文為亂碼

生成的文件名不能帶有中文字符

解決方法:

我暫時想到的處理方式是先生成英文文件名,再將這個文件重命名為中文的文件名

#coding=utf8
import os
import pdfkit
from uuid import uuid1
ret = '<html><head><meta charset="UTF-8"></head><body><h1>測試pdf內(nèi)容部分</h1></body></html>'.decode('utf8')
file_name = str(uuid1())
pdfkit.from_string(ret, file_name) # file_name不能帶有中文 如果有會報錯
file_name_new = '測試.pdf'
os.rename(file_name, file_name_new)

生成的pdf內(nèi)容中文為亂碼

原因1:

因為pdfkit生成pdf功能其實調(diào)用的是webkit的子模塊wkhtmltopdf(通過命令行方式),所以pdfkit生成中文亂碼其實是wkhtmltopdf中文亂碼導(dǎo)致的;而wkhtmltopdf中文亂碼是因為系統(tǒng)中不存在中文字體導(dǎo)致的

解決方法:

在系統(tǒng)中添加中文字體

我的本地電腦是ubuntu14.04的字體文件保存在/usr/share/fonts下(包含了中文字體文件具體哪一個我也不知道汗。),我的服務(wù)器是redhat系統(tǒng)(沒有中文字體),所以在我的電腦上操作如下:

cd /usr/share/fonts
zip -r fonts.zip ./*
scp fonts.zip 服務(wù)器用戶名@服務(wù)器ip:/usr/share/fonts

在服務(wù)器上操作如下:

cd /usr/share/fonts
unzip fonts.zip
fc-cache -fv
fc-list # 查看新添加的字體

你需要找一臺有安裝了中文字體的電腦復(fù)制一份字體文件(就是/usr/share/fonts下的文件),然后如我以上操作就可以了。

原因2:

需要在html的字符集設(shè)置為utf8

<head><meta charset="UTF-8"></head>

補充:python寫入html文件中文亂碼-解決辦法

使用open函數(shù)將爬蟲爬取的html寫入文件,有時候在控制臺不會亂碼,但是寫入文件的html中的中文是亂碼的

案例分析

看下面一段代碼:

# 爬蟲未使用cookie
from urllib import request
if __name__ == '__main__':
 url = "http://www.renren.com/967487029/profile"
 rsp = request.urlopen(url)
 html = rsp.read().decode()
 with open("rsp.html","w")as f:
 # 將爬取的頁面
 print(html)
 f.write(html)

看似沒有問題,并且在控制臺輸出的html也不會出現(xiàn)中文亂碼,但是創(chuàng)建的html文件中

解決方案

使用open方法的一個參數(shù),名為encoding=” “,加入encoding=”utf-8”即可

# 爬蟲未使用cookie
from urllib import request
if __name__ == '__main__':
 url = "http://www.renren.com/967487029/profile"
 rsp = request.urlopen(url)
 html = rsp.read().decode()
 with open("rsp.html","w",encoding="utf-8")as f:
 # 將爬取的頁面
 print(html)
 f.write(html)

運行結(jié)果

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

相關(guān)文章

  • 使用Keras畫神經(jīng)網(wǎng)絡(luò)準確性圖教程

    使用Keras畫神經(jīng)網(wǎng)絡(luò)準確性圖教程

    這篇文章主要介紹了使用Keras畫神經(jīng)網(wǎng)絡(luò)準確性圖教程,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • 詳解Python中的Dict(下篇)

    詳解Python中的Dict(下篇)

    這篇文章主要為大家介紹了Python中的Dict,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-12-12
  • python opencv攝像頭的簡單應(yīng)用

    python opencv攝像頭的簡單應(yīng)用

    這篇文章主要為大家詳細介紹了python opencv攝像頭的簡單應(yīng)用,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-06-06
  • Python格式化輸出之format用法詳解

    Python格式化輸出之format用法詳解

    Python中格式化字符串目前有兩種陣營:%和format,這篇文章主要給大家介紹了關(guān)于Python格式化輸出之format用法的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-01-01
  • pytest多重斷言的實現(xiàn)

    pytest多重斷言的實現(xiàn)

    本文主要介紹了pytest多重斷言的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-02-02
  • Pytest mark使用實例及原理解析

    Pytest mark使用實例及原理解析

    這篇文章主要介紹了Pytest mark使用實例及原理解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-02-02
  • 一文了解python 3 字符串格式化 F-string 用法

    一文了解python 3 字符串格式化 F-string 用法

    本文介紹在python 3 編程中,如何進行字符串格式化。介紹了F-string的用法,通過實例代碼給大家介紹的非常詳細,對大家的工作或?qū)W習具有一定的參考借鑒價值,需要的朋友參考下吧
    2020-03-03
  • python中isoweekday和weekday的區(qū)別及說明

    python中isoweekday和weekday的區(qū)別及說明

    這篇文章主要介紹了python中isoweekday和weekday的區(qū)別及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • python?pip?install總是報錯情況分析及解決辦法

    python?pip?install總是報錯情況分析及解決辦法

    這篇文章主要給大家介紹了關(guān)于python?pip?install總是報錯情況分析及解決辦法,安裝包時經(jīng)常遇到報錯,這里提供兩種方式解決,文中通過圖文介紹的非常詳細,需要的朋友可以參考下
    2023-10-10
  • Python創(chuàng)建字典的八種方式

    Python創(chuàng)建字典的八種方式

    今天小編就為大家分享一篇關(guān)于Python創(chuàng)建字典的八種方式,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-02-02

最新評論