出現亂碼可能是由于字符編碼不一致導致的。可以嘗試以下解決方法:
在Django的settings.py文件中設置DEFAULT_CHARSET = 'utf-8'
,確保使用UTF-8編碼。
在HTML頁面中,確保設置了<meta charset="utf-8">
。
在ajax請求中,設置contentType: 'application/json; charset=utf-8'
,確保請求頭中的字符編碼與服務器端一致。
在Django視圖函數中,使用request.body.decode('utf-8')
將接收到的數據進行解碼。
例如:
在HTML頁面中的ajax請求:
$.ajax({
url: '/your/url/',
type: 'POST',
data: JSON.stringify({data: '中文數據'}),
contentType: 'application/json; charset=utf-8',
success: function(response) {
// 處理響應數據
}
});
在Django視圖函數中的處理:
import json
def your_view(request):
if request.method == 'POST':
data = json.loads(request.body.decode('utf-8'))
# 處理數據
通過以上步驟,應該能夠解決中文數據亂碼的問題。