7

Django/mysql サイトを UTF-8 で動作するように設定したいと考えています。次のことを確認するために、django と mysql に加えなければならない変更を教えてください。

  1. ユーザーがフォームに入力したデータは、常に UTF-8 としてエンコードされます。

  2. mysql にデータを utf-8 として保存する

  3. テンプレート内の utf8 でエンコードされたデータを正しく表示する

  4. また、UTF-8 エンコーディングに移行すると、以下のような Unicode デコード エラーがなくなるかどうかも知りたいです。

UnicodeDecodeError: 'ascii' コーデックは位置 55 のバイト 0xc2 をデコードできません: 序数が範囲外です (128)

どうもありがとう。

4

1 に答える 1

26

ここにいくつかのアドバイス:

1) データベースの作成時に utf8 エンコーディングを使用する

CREATE DATABASE <dbname> CHARACTER SET utf8;

ドキュメント

2) スクリプトの 1 行目または 2 行目に次の特別なコメントを配置します。

# -*- coding: utf-8 -*-

Python と utf8 に関する素晴らしい記事

3) *.py ファイルで u 接頭辞付きの Unicode 文字列を使用する

unicodeString = u"hello Unicode world!"

4) ベース テンプレートのセクションで次のメタ タグを使用します。

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
于 2012-04-08T10:42:15.973 に答える