在我的項目中,當我向窗體提交一些非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