我有一个包含大量文本的大表单。例如,它可能包含带引号的单词,如"Программа"
。当我将它提交给服务器并尝试将提交的内容写入文件时,出现错误。如果我用拉丁字母替换所有西里尔字母,那么一切正常。问题显然在服务器端。我想,如果我新的如何处理像"Текст на кириллице"
这样的字符串,我可以解决这个问题。如何在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