Web開発を始めたばかりなので、私はApache全体についてかなり新しくなっています。十分な情報を提供していない場合は、詳細を尋ねてください。Mac OS X Lion上のApacheについて
私は、Lionに同梱されているout-of-the-boxのApacheを使用していますが、たまにはUTF-8文字を出力する必要があるPythonアプリケーションを作成しました。
しかし、どのような方法を使用しても、試してみても、UTF-8文字を印刷しようとすると、500 Internal Server Error
が捨てられ、何も残されません。
私が試したいろいろなこと:(。コードの上部に# -*- coding: utf-8 -*-
付)
- 印刷Pythonコードから直接文字アウト
.decode('utf-8')
機能を使用して文字を印刷。- 印刷アウトプレースシンボルとプレースホルダに代わる
- 印刷アウトプレースホルダ、およびその後のjQueryをプリントアウト(3つの別々の文字をプリントアウトしてその結果を)(そして、ページが内部サーバーエラーをスローします)それを置き換えるJqueryスクリプトへのリンクを印刷します。 (Firebugによれば、スクリプトにアクセスしようとすると、Firefoxが500のサーバエラーになるという。)
私は他のことは考えていない。 これが私がここで尋ねた理由です。
提案がありますか?
おかげ 〜DragonXDoom
EDIT:以下ウィルの提案を試した後、私は今、次のエラーを取得します。
Content-type: text/html; charset=UTF-8
かに行くと同等<meta>
タグ(と:私のコメントについては詳しく説明し
<type 'exceptions.UnicodeDecodeError'>: 'ascii' codec can't decode byte 0xe2 in position 0: ordinal not in range(128)
args = ('ascii', '\xe2\x80\xa2', 0, 1, 'ordinal not in range(128)')
encoding = 'ascii'
end = 1
message = ''
object = '\xe2\x80\xa2'
reason = 'ordinal not in range(128)'
start = 0
Web言語としてPythonをよく知らない人がいますが、要求に正しいUTF-8コンテンツタイプ/文字セットHTTPヘッダーまたは同等のHTMLメタタグを送信すると、2番目の方法が正しく動作する可能性があります。ブラウザはおそらくISO-8859-1を使ってそれをデコードしようとしています。 –
私が言ったように、私はこれには全く新しいので、あなたはそのようなメタタグやヘッダの例を挙げることができますか? – DragonXDoom
これはApacheやMac OS Xとは実際には関係ありません:) PythonとUnicodeだけで、代わりに2つのタグを使用することをお勧めします。 – Arafangion