お世話になっております。pythonを学習しています。
以下のような2つのコードを書き、サーバーへ上げました。
すると、上の方のコードでは「こんにちは」と表示されるのに、下の方は「HELLO」と表示されません。
内容的には全く同じふたつのコードのどこが違うのか分からなかったのですが、試しに、上のコードの
「#!/usr/local/bin/python3」
「# -- coding: utf-8 --」
の部分を下のコードへコピー&ペーストしてみた所、下のコードも「HELLO」と表示されるようになったのです。
見た目には全く同じで、文字列も全く同一のこの部分を差し替えただけで解決した理由が知りたいです。
どちらもutf-8で保存されているのは間違いありません。
python
1#!/usr/local/bin/python3 2# -*- coding: utf-8 -*- 3 4import sys 5import io 6import sqlite3 7import cgi 8import cgitb 9cgitb.enable() 10# windowsにおける文字化け回避 11sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8') 12 13#print("Content-type: text/html; charset=utf-8") 14print('Content-Type: text/html; charset=UTF-8\n') 15print( 16""" 17<html lang="ja"> 18<head> 19 <meta charset="utf-8"> 20<TITLE></TITLE> 21</HEAD> 22<BODY> 23<P>こんにちは</P><BR> 24</BODY> 25</HTML> 26""" 27) 28
python
1#!/usr/local/bin/python3 2# -*- coding: utf-8 -*- 3 4import sys 5import io 6import sqlite3 7import cgi 8import cgitb 9cgitb.enable() 10# windowsにおける文字化け回避 11sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8') 12 13#print("Content-type: text/html; charset=utf-8") 14print('Content-Type: text/html; charset=UTF-8\n') 15print( 16""" 17<html lang="ja"> 18<head> 19<meta charset="utf-8"> 20<TITLE></TITLE> 21</HEAD> 22<BODY> 23<P>HELLO</P><BR> 24</BODY> 25</HTML> 26""" 27) 28
何故これで下のコードも動くようになったのでしょうか…?
以上、何卒ご教授下さいませ。
回答2件
あなたの回答
tips
プレビュー