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

回答編集履歴

4

追記

2018/11/23 10:04

投稿

8524ba23
8524ba23

スコア38350

answer CHANGED
@@ -1,6 +1,12 @@
1
1
  文字化け結果から、日本語パスは`UTF-8`で表現されています。
2
2
  Django動作環境のロケールが`C`など日本語に対応していないと現象が発生するようです。
3
3
  未検証ですが`export LANG=ja_JP.UTF-8`または`C.UTF-8`とロケール設定してあげると正常に動作する可能性あります。
4
+
4
5
  参考:
5
6
  [Python3.1の Unicode ファイル名](https://atsuoishimoto.hatenablog.com/entry/20101016/1287247861)
6
- [LANGやPYTHONIOENCODINGを設定してもUnicodeDecodeErrorが出る時の更なる確認ポイント](https://qiita.com/mokemokechicken/items/55fe1cc83f93299ac4dd)
7
+ [LANGやPYTHONIOENCODINGを設定してもUnicodeDecodeErrorが出る時の更なる確認ポイント](https://qiita.com/mokemokechicken/items/55fe1cc83f93299ac4dd)
8
+
9
+ 以下は細かいことなので読み飛ばしてかまいません。
10
+
11
+ ちなみに、動作環境のロケールで表現できない(日本語などの)バイト列は`\udc??`のようなサロゲートペアの下位ワード表現すると[PEP 383 -- Non-decodable Bytes in System Character Interfaces](https://www.python.org/dev/peps/pep-0383/)で定められています。
12
+ 通常、下位ワードのみで構成される文字列はない(はず)なのでこの動作はお行儀悪いですが、UNICODEから元のエンコーディングに逆変換できるように、あえてこのような仕様になっているものと思われます。

3

追記

2018/11/23 10:04

投稿

8524ba23
8524ba23

スコア38350

answer CHANGED
@@ -1,4 +1,6 @@
1
1
  文字化け結果から、日本語パスは`UTF-8`で表現されています。
2
2
  Django動作環境のロケールが`C`など日本語に対応していないと現象が発生するようです。
3
- 未検証ですが`export LANG=ja_JP.UTF-8`とロケール設定してあげると正常に動作する可能性あります。
3
+ 未検証ですが`export LANG=ja_JP.UTF-8`または`C.UTF-8`とロケール設定してあげると正常に動作する可能性あります。
4
+ 参考:
4
- 参考:[Python3.1の Unicode ファイル名](https://atsuoishimoto.hatenablog.com/entry/20101016/1287247861)
5
+ [Python3.1の Unicode ファイル名](https://atsuoishimoto.hatenablog.com/entry/20101016/1287247861)
6
+ [LANGやPYTHONIOENCODINGを設定してもUnicodeDecodeErrorが出る時の更なる確認ポイント](https://qiita.com/mokemokechicken/items/55fe1cc83f93299ac4dd)

2

修正

2018/11/22 17:17

投稿

8524ba23
8524ba23

スコア38350

answer CHANGED
@@ -1,4 +1,4 @@
1
1
  文字化け結果から、日本語パスは`UTF-8`で表現されています。
2
- しかしdjango動作環境のロケールが`C`など日本語に対応していないと現象が発生するようです。
2
+ Django動作環境のロケールが`C`など日本語に対応していないと現象が発生するようです。
3
3
  未検証ですが`export LANG=ja_JP.UTF-8`とロケール設定してあげると正常に動作する可能性あります。
4
4
  参考:[Python3.1の Unicode ファイル名](https://atsuoishimoto.hatenablog.com/entry/20101016/1287247861)

1

追記

2018/11/22 17:03

投稿

8524ba23
8524ba23

スコア38350

answer CHANGED
@@ -1,4 +1,4 @@
1
1
  文字化け結果から、日本語パスは`UTF-8`で表現されています。
2
2
  しかしdjango動作環境のロケールが`C`など日本語に対応していないと現象が発生するようです。
3
- `export LANG=ja_JP.UTF-8`とロケール設定してあげると正常に動作する可能性あります。
3
+ 未検証ですが`export LANG=ja_JP.UTF-8`とロケール設定してあげると正常に動作する可能性あります。
4
4
  参考:[Python3.1の Unicode ファイル名](https://atsuoishimoto.hatenablog.com/entry/20101016/1287247861)