我编写了一个Django应用程序,让用户输入文件名并执行某些过程。在正常情况下,如果用户输入的文件名只包含字母数字字符,则该过程将正常完成。
如果用户输入的文件名包含Unicode字符,例如中文或日文,则该过程将以异常结束(HTML 500错误)。我检查提交给服务器的表单数据,文件名字段将转换为unicode字符串,例如
"\u30a2\u30af\u30bb\u30b9\u6a29\u9650\u4f53\u7cfb\u5b9a\u7fa9\u66f8.xls"
在这种情况下,例如,使用pyminizip压缩文件,它将引发异常错误并且进程停止。
有没有什么方法可以将unicode字符串转换回原始文本,例如中文或日文字符?
谢谢,
答案 0 :(得分:0)
Django使用default charset表单处理表单。这似乎更像是数据处理或存储问题。根据您使用的数据库,默认字符编码会有所不同:
我会更改数据库的字符集,或者在数据到达之前转换数据。