Недавно я переключил некоторое слово (строку) на неанглийский язык. И теперь я получаю эту ошибку в консоли. Я использую python, django. и это происходит из ajax. Я верю в файл python, мне просто нужно добавить «# - - код: utf-8 - - » наверху. Я сделал то же самое, где мой аякс, но он ничего не делает. Здесь, S полной ошибкиUnicodeEncodeError at/notifications/ajax/'ascii' codec не может кодировать символ: порядковый номер не в диапазоне (128)
UnicodeEncodeError at /notifications/ajax/
'ascii' codec can't encode character u'\ubbbb' in position 98: ordinal not in range(128)
Traceback:
File "/home/env/local/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response
132. response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/home/env/local/lib/python2.7/site-packages/django/contrib/auth/decorators.py" in _wrapped_view
22. return view_func(request, *args, **kwargs)
File "/home/notifications/views.py" in get_notifications_ajax
47. notes.append(str(note.get_link))
Exception Type: UnicodeEncodeError at /notifications/ajax/
Exception Value: 'ascii' codec can't encode character u'\ubbbb' in position 98: ordinal not in range(128)
Здесь, S функции для AJAX
@login_required
def get_notifications_ajax(request):
if request.is_ajax() and request.method == "POST":
notifications = Notification.objects.all_for_user(MyProfile.objects.get(user=request.user)).recent()
count = notifications.count()
notes = []
for note in notifications:
notes.append(str(note.get_link))
data = {
"notifications": notes,
"count": count,
}
print data
json_data = json.dumps(data)
print json_data
return HttpResponse(json_data, content_type='application/json')
else:
raise Http404
ошибки встречающаяся здесь;
notes.append(str(note.get_link))
Вот мой Аякса
<script>
$(document).ready(function(){
$(".notification-toggle").click(function(e){
e.preventDefault();
$.ajax({
type: "POST",
url: "{% url 'get_notifications_ajax' %}",
data: {
csrfmiddlewaretoken: "{{ csrf_token }}",
},
success: function(data){
$("#notification_dropdown").html(' <li role="presentation" class="dropdown-header">view</li>');
var count = data.count
console.log(count)
if (count == 0) {
var url = '{% url "notifications_all" %}'
$("#notification_dropdown").append("<li><a href='" + url+ "'>view all</a></li>")
} else {
$(data.notifications).each(function(){
var link = this;
$("#notification_dropdown").append("<li>" + link + "</li>")
})
}
console.log(data.notifications);
},
error: function(rs, e) {
console.log(rs);
console.log(e);
}
})
})
})
</script>
Что я включил это "глагол" на этом одном: notify.send (MyProfile.objects.get (пользователь = request.user), действие = new_comment , целевых = parent_comment, получатель = parent_comment.user, affected_users = affected_users, глагол = 'ответил')
Я перевел «ответил» на корейский, и я получил ошибку
ах-ха спасибо я постараюсь это –
она должна быть (ул note.get_link.encode ('UTF-8')) не так ли? –
спасибо, что он отлично работает сейчас –