Django ersetzt nicht-ascii-Zeichen \ufffd

In meinem Projekt, wenn ich mich auf die übermittlung einiger Daten mit nicht-ascii-Zeichen, die form, die ich bin, immer alle nicht-ascii-Daten ersetzt, die mit unicode-replacement-Zeichen \ufffd. In der Ansicht erhält, dass die Daten aus dem Formular, habe ich diese fehlerhaften Zeichenfolgen in der Anfrage.POST. Scheint ich habe etwas verpasst, offensichtlich.

Meine Umgebung:

  • Python 2.6
  • Django 1.3 alpha 1
  • MySQL 5.1 Datenbank verwendet UTF-8-Zeichensatz

Reproduziert haben dieses Problem mit Entwicklungs-server lokal und zwischengeschalteten server läuft Apache+mod_wsgi, mit Firefox 4 und Chrome 11.

Wo soll ich suchen zum workout-das problem? Danke.

Update: unten ist der code, den ich verwende -

@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}
Aktualisiert haben meine Frage mit dem code, vielen Dank.

InformationsquelleAutor Serge Tarkovski | 2011-04-21

Schreibe einen Kommentar