我有一個包含大量文本的大表單。例如,它可能包含帶引號的單詞,如"Программа"
。當我將它提交給服務器並嘗試將提交的內容寫入文件時,出現錯誤。如果我用拉丁字母替換所有西裏爾字母,那麼一切正常。問題顯然在服務器端。我想,如果我新的如何處理像"Текст на кириллице"
這樣的字符串,我可以解決這個問題。如何在Python/Django中將西裏爾字母寫入文件
回答
當您寫入文件unicode字符串時,必須先對其進行編碼。
讓我們嘗試以下操作:
# -*- coding: utf-8 -*-
text = u"Текст на кириллице"
with open('outfile.txt', 'w') as fw:
fw.write(text)
該代碼將引發異常
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-4: ordinal not in range(128)
所以,僅僅編碼的文本。其中最流行的編碼爲「UTF8」:
# -*- coding: utf-8 -*-
text = u"Текст на кириллице"
with open('outfile.txt', 'w') as fw:
fw.write(text.encode('utf8'))
你必須記住的編碼,這是用來編碼的文本,以便在將來讀它。 從文件中讀取的文本,用書面方式中使用相同的編碼解碼它:
with open('outfile.txt') as f:
text = f.read()
print text.decode('utf8')
如果我將文本作爲變量傳遞,我應該怎麼做?我的意思是,這個「text = u變量」是正確的嗎?我不知道正確的語法 – Jacobian 2014-11-02 14:11:50
在我的例子'text' - 是一個變量,'u「Текстнакириллице」'是一個變量值 – stalk 2014-11-02 14:13:03
我的意思是,我想在右側有一個變量。想象一下,我有一個變量,它包含這個文本'Текстнакириллице'。我應該如何將它轉換爲utf?只是你變了嗎?或者variable.encode(utf8)? – Jacobian 2014-11-02 14:16:56
- 1. 將西里爾文字符寫入xml文件
- 2. 如何將俄文字符串轉換爲西裏爾字母?
- 3. 西裏爾字母域名
- 4. 如何將西裏爾字母粘貼到word文檔(phpword)?
- 5. 西里爾文字母爲「???」 - php
- 6. 導入CSV文件西裏爾字母到MySQL - phpMyAdmin的
- 7. 亞馬遜S3和文件名中的西裏爾字母
- 8. 如何在JavaCC中支持西裏爾字母?
- 9. HTMLENTITIES不適用於西裏爾字母
- 10. 從字符串中提取西里爾文字母
- 11. 如何轉換俄語西裏爾字母的字符串?
- 12. 用西里爾文在C++中讀寫文件
- 13. 如何將西里爾字符串轉換爲英文在c#
- 14. 用西里爾名字保存文件
- 15. 檢查字符串是拉丁字母還是西里爾文
- 16. 字母轉換 - 西里爾文到拉丁文
- 17. 如何在Java中檢測字符串是否包含西裏爾字母?
- 18. 用JavaScript編寫西里爾字符串
- 19. Android如何在exif文件中添加西里爾文符號
- 20. SQL Server西里爾書寫'?????'
- 21. 小寫西里爾{QUERY_STRING}
- 22. 如何將布爾寫入plist文件
- 23. 如何將MS字Unicode 2字節西里爾字符轉換爲CP866 1字節西里爾字
- 24. 西里爾文HelpProvider
- 25. 如何檢測編輯文本中的西里爾文字?
- 26. Android - 如何在左側抽屜中使用西裏爾字母佈局
- 27. 框API v2創建文件夾與它的名字西裏爾字母
- 28. libGdx - 西裏爾字母和拉丁字符的不同字體
- 29. 如何製作西里爾字符大寫?
- 30. Unicode轉換西裏爾字母符號串在python
什麼錯誤,你得到什麼呢? – 2014-11-02 14:01:03
服務器應該返回json'{success:true}',並且客戶端用一個警告'Saved!'來響應。拉丁字母的作品,但與西裏爾字母我看不到來自服務器的迴應。 – Jacobian 2014-11-02 14:07:14