[英]Unicode problems in Python
嗯,好的,所以我在編碼方面遇到了很大的問題,我只是不知道如何處理。 經過兩天的Google搜索,我認為我的選擇已經用光了:)
我想做的是以下幾點。
現在,當我們談論常規字符時,所有這些都可以順利進行。 但是,當我嘗試使用韓文,波蘭文,日文字符時,在圖像和數據庫中都插入了看起來很奇怪的字符。 在下面的示例中,我將使用波蘭語字符的三個字符串-“ąść”。
這是谷歌搜索后我所做的事情。
在.htaccess中插入以下內容:
AddCharset UTF-8 .py .css .js .html
我的python文件現在開始於:
#!/usr/bin/python
# -*- coding: utf-8 -*-
我所有的MySQL數據庫均以“ utf8_unicode_ci”編碼。
現在,這是我要執行的操作的一個示例...每當我解析“±ść”(三個波蘭語字符)時,它將被保存在數據庫中並在圖像上生成為:
ąść
現在,一些調試問題。 我直接使用Python,並將以下內容分配給通常對其文本進行了解析的變量(value_text1)(因此-不進行文本解析,只需設置固定文本即可生成圖像並放入數據庫中):
A)如果我使用value_text1 = 'ąść'
得到…ść
。
B)如果我使用value_text1 = u'ąść'
, value_text1 = u'ąść'
收到以下錯誤消息:
UnicodeEncodeError:'latin-1'編解碼器無法在位置0-1處編碼字符:序數不在范圍內(256)
C)如果我使用value_text1 = u'ąść'.encode('UTF-8')
,結果得到…ść
。
D)如果我使用value_text1 = u'\ą\ś\ć'.encode('UTF-8')
,其中"\ą\ś\ć"
是“±ść”的實際unicode,則得到…ść
結果是…ść
。
真的不知道我在做什么錯-服務器設置,python文件設置,錯誤的命令? 將不勝感激,在此先感謝您。
如果我在交互式外殼程序或.py文件中嘗試
#!/usr/bin/python
# -*- coding: utf-8 -*-
value_text1 = u'ąść'
print value_text1
它對我來說效果很好,所以我想這與您的服務器配置有關。
順便說一句,請確保在連接到服務器時使用charset =“ utf-8”。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.