2023年2月26日日曜日

ubuntu CGI でエラーの対応(UnicodeEncodeError:ascii' codec can't encode character)


次のソースコード(UTF-8で保存済み)でエラー発生

#!/usr/bin/python3

print("Content-Type: text/html; charset=utf-8\n")

print("あ")

 

 Traceback (most recent call last):

File "/var/www/~ loginMain2.py", line 68, in <module>

     print("\\u3042")

UnicodeEncodeError: 'ascii' codec can't encode character '\\u3042' in position 0: ordinal not in range(128)



修正方法

# micro   /etc/apache2/apache2.conf


環境変数「LC_CTYPE 」をUTF-8にします。

<Directory /var/www/>

Options Indexes FollowSymLinks

AllowOverride All

Require all granted

        SetEnv LC_CTYPE C.UTF-8

</Directory>



解決策まとめ

/etc/apache2/apache2.confファイルに、
SetEnv LC_CTYPE C.UTF-8
を追加します

0 件のコメント:

コメントを投稿