質問するログイン新規登録

回答編集履歴

4

日本語がいまいちなのを変更しました。

2018/11/23 01:13

投稿

gh640
gh640

スコア1407

answer CHANGED
@@ -1,4 +1,4 @@
1
- 興味を持ち私も(環境は macOS違いますが)ファイル名が日本語のファイルで試してみました。結果、 kiwibird さんと同様の現象を確認することができました。
1
+ 興味を持ち私も(環境は kiwibird さん異なり macOS ですが)ファイル名が日本語のファイルで試してみました。結果、 kiwibird さんと同様の現象を確認することができました。
2
2
 
3
3
  結論としては、 can110 さんらがおっしゃられているとおり UTF-8 で表現されているの(=適切なエスケープ)ではないかと思います。
4
4
 

3

タイポを修正しました: non-ascci → non-ascii 。

2018/11/23 01:13

投稿

gh640
gh640

スコア1407

answer CHANGED
@@ -8,7 +8,7 @@
8
8
 
9
9
  ここではエンコーダとして `django.core.serializers.json.DjangoJSONEncoder` という Django 独自のエンコーダが使われますが、これは今回の問題とは関係が無いので掘り下げずにおいておきます。
10
10
 
11
- `json.dumps()` のドキュメントを見ると、 `json.dumps()` はデフォルトで non-ascci 文字を ascii 文字にエスケープする挙動になっているとのことですので、これがおおもとの原因ではないかと思います。
11
+ `json.dumps()` のドキュメントを見ると、 `json.dumps()` はデフォルトで non-ascii 文字を ascii 文字にエスケープする挙動になっているとのことですので、これがおおもとの原因ではないかと思います。
12
12
 
13
13
  - https://docs.python.org/3/library/json.html#character-encodings
14
14
 

2

2 つの抜粋が 1 つの blockquote に入ってしまう問題を解消しました。

2018/11/23 00:47

投稿

gh640
gh640

スコア1407

answer CHANGED
@@ -14,8 +14,12 @@
14
14
 
15
15
  以下、該当する箇所 2 箇所の抜粋です:
16
16
 
17
+ 抜粋1:
18
+
17
19
  > If ensure_ascii is true (the default), the output is guaranteed to have all incoming non-ASCII characters escaped. If ensure_ascii is false, these characters will be output as-is.
18
20
 
21
+ 抜粋2:
22
+
19
23
  > The RFC requires that JSON be represented using either UTF-8, UTF-16, or UTF-32, with UTF-8 being the recommended default for maximum interoperability.
20
24
  >
21
25
  > As permitted, though not required, by the RFC, this module’s serializer sets ensure_ascii=True by default, thus escaping the output so that the resulting strings only contain ASCII characters.

1

JSON 化 → JSON シリアライズ に表現を変更しました。

2018/11/22 23:53

投稿

gh640
gh640

スコア1407

answer CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  結論としては、 can110 さんらがおっしゃられているとおり UTF-8 で表現されているの(=適切なエスケープ)ではないかと思います。
4
4
 
5
- 念のため、なぜこの挙動になるかを確認するために `JsonResponse` のコードを見てみました。 `JsonResponse` の `__init__()` の中で、第 1 引数( kiwibird さんのコードだと `result` )が標準ライブラリの `json.dumps()` を使って JSON されています。
5
+ 念のため、なぜこの挙動になるかを確認するために `JsonResponse` のコードを見てみました。 `JsonResponse` の `__init__()` の中で、第 1 引数( kiwibird さんのコードだと `result` )が標準ライブラリの `json.dumps()` を使って JSON シリアライズされています。
6
6
 
7
7
  - https://github.com/django/django/blob/2.1.3/django/http/response.py#L558
8
8