我收到来自客户端的请求,要求从服务器下载一些文件。文件名是希伯来语。
@bottle.get("/download/<folder_name>/<file_name>")
def download(folder_name, file_name):
file_name = file_name.decode('utf-8')
folder_name = folder_name.decode('utf-8')
if os.path.exists(os.path.join(folder_name, file_name)):
return bottle.static_file(file_name, root=folder_name, download=True)
最后一行失败:
return bottle.static_file(file_name, root=folder_name, download=True)
我得到一个例外:
UnicodeEncodeError: 'ascii' codec can't encode characters in position 22-25: ordinal not in range(128)
我不知道我在这里做错了什么。
Callstack 显示异常源自 python 瓶代码:
File "C:\Python27\Lib\site-packages\bottle-0.10.9-py2.7.egg\bottle.py", line 1669, in __setitem__
def __setitem__(self, key, value): self.dict[_hkey(key)] = [str(value)]
请帮忙。
请注意,奥马尔。