またしても貴様か!の巻

2021年4月20日7:00 公開


DjangoでのエラーをADMINSにメール送信出来る環境を整え。

なかなか良い感じにバグフィックス出来るようになってきたな~Sentryお役御免か?なんて良い気になってましたよ、ハイ。すいません、私です。

あーまたしても出てしまった訳です。UnicodeEncodeErrorです。

うん、これはDjangoプロジェクトに入る前、wsgi辺りで発生する為、Djangoでのエラーページでなくapacheでのエラーページが出てしまうという優しさの欠片もない、どS陰険眼鏡のようなヤツです。(誰?)

これは、djangoライブラリ内の仕様(やめろ)っぽいのでバージョンアップの度に毎回チェックして自分で変更していくしかないのかな~ああ、面倒!

なので、忘れないようここにも記録しておきますよ。(ハイ、今回の主旨はコレです!)

                    
# 現在、python3.9.4 使用中(pyenv)なので
# .pyenv/versions/3.9.4/lib/python3.9/site-packages/django/core/handlers/wsgi.py
#
def get_bytes_from_wsgi(environ, key, default):
    """
    Get a value from the WSGI environ dictionary as bytes.

    key and default should be strings.
    """
    value = environ.get(key, default)
    # Non-ASCII values in the WSGI environ are arbitrarily decoded with
    # ISO-8859-1. This is wrong for Django websites where UTF-8 is the default.
    # Re-encode to recover the original bytestring.
    return value.encode('iso-8859-1') ## ここが原因でエラーが発生する


                
                    
# utf-8 指定に変更してあげると良い
#
    return value.encode('utf-8')


                

文字コードを変更してあげる訳です。
直前のコメントにあるように!現状、utf-8デフォルト環境ですから!
っつーか、「This is wrong」なんて書く位ならやめとけよ!世界的に見てマルチバイト使ってる国の方が多いだろうが!いつまでもASCII世界だと思うなよ!(と負け犬の遠吠え的な。でもなー何とかしてよ、と思う。。。)

ちなみにこれで、日本語ファイル名もエラーが起きずにアップロード出来るようになった。
はぁ……やっぱこれ、公式できちっと対応して欲しい~



メニューページ

メインコンテンツ

タグ別

公開日別

Popular Entries

うちの型落ちMacもぽちぽちとアップデートかけていたりする訳ですが。最近ちょっと多くないですかー?Big Surさん?ちょっと勘弁して欲しいんですけど!確かに明らかにクライアントとして使用すべきMac
Read more
当初は常識的に?レンタルサーバー上でクーロン実行考えていたですが。良く良く考えてみれば。私が今クーロンで実行させたいと思っているスクリプトは、レンタルサーバーで実行する必要全然ない、んですよねー。要は
Read more
php7.2 へのバージョンアップが予定通り、レンタルサーバーさんでされました。一応、事前にドキュメント読んだりはしたつもりだったですが。出ました。思いっ切り出ましたね!エラー。しかも、ちょっと恥ずか
Read more
全然気づいていなかったけれども。コンテンツサイトでjstreeが動かなくなっていたんですよね。ちょっと前にごちょごちょ弄くってはいたので、何かやらかしたか?!と思っていたのですが。(ほら、jsだから、
Read more
ちょっと都合に付き、MySQLをサイトで使うようにしようかなと思い立ちました。でもいきなりレンタルサーバー様でMySQL使うのはリスキー。取り敢えず、検証環境で使えるように、とうことで、やはりNASで
Read more

Recent Comments

Information

緊急連絡は現在ありません。

Recent Update

さて。改装しておよそ1か月経過しました。といっても、見かけは変えてないつもりなのでわからないでしょーが。今回の改装ポイントは、前は完全関数型使用でした、が、今回は可能な限りクラス使用しています。うん、
Read more
DjangoでのエラーをADMINSにメール送信出来る環境を整え。なかなか良い感じにバグフィックス出来るようになってきたな~Sentryお役御免か?なんて良い気になってましたよ、ハイ。すいません、私で
Read more
うちの型落ちMacもぽちぽちとアップデートかけていたりする訳ですが。最近ちょっと多くないですかー?Big Surさん?ちょっと勘弁して欲しいんですけど!確かに明らかにクライアントとして使用すべきMac
Read more
PythonとDjangoアップデートであります。早いですよ、やっぱり!(Pythonも3.9。。。4はいつ頃なんだっけ?確かもうスケジュールされてたような。あれ、Djangoだけかな)Djangoで
Read more
サイト改装、というか、プログラム&フレームワーク切替から少々時間経過しました。(確か8月頭に処理した筈)思わぬエラーや自分的見落としやらミスによるエラー対応もほぼほぼ終了。終息したかなっと思ってます。
Read more

Preview

Information(Board)

サイト改装しました! といいつつ、表向きは全く変わらない(ように作った)筈です。 何かおかしいところがございましたら、ご連絡頂けると助かります。
Read more