value
JSONに格納されるため、POSTリクエストの文字列(この場合は変数)がエスケープされないようにしようとしています。私のコードは
def addProduct(request):
if request.POST:
post = {}
for key in request.POST:
value = request.POST[key].encode('utf-8')
try:
value = json.loads(value).encode('utf-8')
except Exception:
pass
post[key] = value.encode('utf-8')
doc = json.dumps(post)
私が見ることができるデバッグvalue
は、Djangoがリクエストオブジェクトを処理する方法であると私が信じているタイプのユニコードです。実際の文字列ですが、Unicode は特殊文字をエスケープするまで取得しませんpost[key] = value
。post[key] = value.encode('utf-8')
エスケープされないようにこれを変更しようとすると、エラーが発生します。'ascii' codec can't decode byte 0xe2 in position 38: ordinal not in range(128)
何か案は?