iT邦幫忙

0

pyqrcode 中文字解決方式

http://pythonhosted.org/PyQRCode/moddoc.html 小弟使用該開發原碼來製作QRCODE.
但英文及數字都可以成功產生,但問題來了換成中文卻都不行.
請問各位前輩有相關解決的經驗嗎?

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

0
最佳解答
看更多先前的回應...收起先前的回應...
souda iT邦好手 1 級 ‧ 2014-11-18 16:33:07 檢舉

deanya:
以下是程式碼
urllib.quote('中文測試')
y2 = urllib.quote(u'中文測試'.encode('utf8'))
yoyo = pyqrcode.create(y2, error='L')
yoyo.png('modules\qr\static\yoyo.png', scale=8)
雖然已經轉成utf-8但是QRCODE掃描顯示並不是"中文測試"而是轉碼.

souda iT邦好手 1 級 ‧ 2014-11-18 16:34:09 檢舉


這是轉出來的qrcode

souda提到:
urllib.quote('中文測試')
y2 = urllib.quote(u'中文測試'.encode('utf8'))
yoyo = pyqrcode.create(y2, error='L')
yoyo.png('modules\qr\static\yoyo.png...(恕刪)

Encode 完, 需要把它 Decode 回來...
請問一下你的使用情境是, 直接 QRCode 掃完只顯示中文?! or...

souda iT邦好手 1 級 ‧ 2014-11-20 09:29:21 檢舉

現在需要產生qrcode後能掃瞄顯示中文,但轉過去後就是utf8並非big5.
你所謂得decode是在那哪個環節做呢?因為pyqrcode它好象只認得英文和數字 漢字好象不支援.

所以你有自己寫的的 QRCodeScanner(這有解
還是需要 Public QRCodeScanner(這可能就無解, 因為不是每個 Scanner 有提供 UTF-8 Decode

souda iT邦好手 1 級 ‧ 2014-11-20 11:35:45 檢舉

這個我知道但我現在開發的環境是不能上網的,所以勢必使用三方軟體處理.
https://pypi.python.org/pypi/PyQRCode 這個只要遇到中文字就不行.
https://pypi.python.org/pypi/qrcode/5.1可以支援中文卻不能指定大小及svg轉png

以上都成功試出產生QRCODE只差小缺點修正..!!

對於字串,在前面加個UTF-8的BOM頭就好了。

<pre class="c" name="code">import codecs
BOM_utf-8 = codecs.BOM_UTF8

Ref by http://ninan.sinaapp.com/note/show/python-qrcode-generate-Chinese-Character/

souda iT邦好手 1 級 ‧ 2014-11-24 08:56:08 檢舉

各位前輩使用過CairoSVG 1.0.9嗎?

souda iT邦好手 1 級 ‧ 2014-11-26 15:30:42 檢舉

各位前輩目前小弟已經可以存成文字了.
接下來遇到的問題是如何印出PNG到ESC/POS COMMAND

souda iT邦好手 1 級 ‧ 2014-11-27 08:48:13 檢舉

各位前輩~~小弟透過ESCPOS套件https://pypi.python.org/pypi/python-escpos/1.0.9完成qrcode印出.

讚

souda iT邦好手 1 級 ‧ 2014-12-02 10:10:19 檢舉

透過Python 3rd PIL 縮放pybarcode會失真,目前考慮使用ESC/POS印出BARCODE/QRCODE.
但熱感機就會被限制了,轉圖檔可以克服但就是barcode會失真真是兩難....!!

0
shihchun520
iT邦新手 5 級 ‧ 2014-11-20 10:44:14

pyqrcode可以支援中文,但有兩行一定要使用(utf-8)

sys.setdefaultencoding('utf-8')
print d.result.encode('utf-8')

http://3wa.tw/blog/blog.php?uid=shadow&id=1791&bk_id=10

souda iT邦好手 1 級 ‧ 2014-11-20 11:51:24 檢舉

該站我詢問過了它所用的PYQRCODE和我的不一樣
我的 https://pypi.python.org/pypi/PyQRCode
3wa.tw http://sourceforge.net/projects/pyqrcode/files/pyqrcode/0.2.1/

還再努力中....

souda iT邦好手 1 級 ‧ 2014-11-26 15:30:49 檢舉

各位前輩目前小弟已經可以存成文字了.
接下來遇到的問題是如何印出PNG到ESC/POS COMMAND

souda iT邦好手 1 級 ‧ 2014-11-27 08:48:06 檢舉

各位前輩~~小弟透過ESCPOS套件https://pypi.python.org/pypi/python-escpos/1.0.9完成qrcode印出.

我要發表回答

立即登入回答