在我的项目中,当我向窗体提交一些非ascii字符的数据时,我将所有非ascii数据替换为unicode替换字符\ ufffd。在从窗体接收数据的视图中,request.POST中存在这种格式错误的字符串。似乎我错过了一些明显的东西。Django用 ufffd替换非ascii字符
我的环境:
- 的Python 2.6
- Django的1.3阿尔法1
- MySQL 5.1中,数据库使用UTF-8字符集
在使用本地和中间开发服务器转载此问题运行Apache + mod_wsgi的服务器,使用Firefox 4和Chrome 11.
Whe我应该看看解决这个问题吗?谢谢。
更新:下面是我使用的代码 -
@render_to('mail/new_message.html')
@login_required
def new_message(request, user_id):
user = request.user
if request.method == 'POST':
form = MessageForm(request.POST, request.FILES)
# exclude attachment from init instance, because we need instance id
# for saving attachment
form._meta.exclude = ['attachment']
if form.is_valid():
new_msg = form.save()
new_msg.sender = user
if form.cleaned_data['attachment']:
new_msg.attachment = form.cleaned_data['attachment']
new_msg.save()
message_sent.send(sender=None,instance=new_msg)
return HttpResponseRedirect(reverse(messages))
else:
initial = {}
if user_id:
initial['receivers'] = [user_id,]
form = MessageForm(initial=initial)
return {'form': form}
已经用代码更新了我的问题,谢谢。 – 2011-04-21 15:29:23