やったこと:2020/10/9

sirius2wpのカテゴリー名などのパスが日本語だった場合のredirect_savelist.jsonの対処の件。

リダイレクト記述リストの方は、URLエンコードしてあげれば大丈夫そう。
まだ.htaccessに入れてリダイレクトはさせてないけど、多分大丈夫。

問題は退避ファイルリストの方。
PC上のファイルで日本語で表示されていなかったのは、json.dump()でensure_ascii=Falseとパラメータをつけてあげれば直った。

PC上のJSONファイルは直ったけれど、サーバーにアップするとCGIは動かない。
サーバー上では日本語の部分がやっぱり壊れるっぽい。

いろいろPythonの日本語というかUnicodeとか文字コードの話をネットで漁ってみたけれど、わかるようなわからないような…。
腑に落ちないまま。

「ftp転送でアップロードしたけれど、そこでコード変換されたのか?」

とftpのせいにしたかったけども、そもそも論で考えが間違っているのでは?と思った。

PCとサーバーで日本語のコードの扱いが同じではないのだから、転送うんぬんよりも、PCのUTF-8の日本語のまま転送するのが間違い?

PCの上のファイルに日本語のまま書くんじゃなくて、エンコードしたバイト列を書いて、それを転送して、サーバー上でそれをデコードするのがいいんじゃない?

時間切れで今日の作業をおしまいにしてから、そう思いついた。

これを試してみることに。
あとCGIがらみで、使い勝手をよくする方法をいくつか思いついてしまったので、それも別途やろう。
ってやることが全然減っていかない。

タイトルとURLをコピーしました