3

MySQLフィールドにフランス語のテキストがあります。これはPHPMyAdminの下に正しく表示されます。

mentionné

フィールドはとしてエンコードされutf32_unicode_ciます。(ですvarchar(500), utf32_unicode_ci)。

ただし、このパラメーターを呼び出し、utf-8でエンコードされたhtmlで出力するPHPスクリプトを呼び出すと、次のようになります。

mentionn�

これが私のphphtmlヘッダーの抜粋です:

<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="fr-FR">
<head profile="http://gmpg.org/xfn/11">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

どうすればこれを修正できますか?

4

1 に答える 1

2

データベースのエンコーディングに加えて、次のことを必ず確認してください。

  • ファイルのutf8エンコーディング(js / php)(ultra-edit、F12:UTF8-NOBOMとして保存)
  • utf8 htmlコンテンツ:<meta HTTP-EQUIV="content-type" CONTENT="text/html; charset=utf-8">
  • db接続のutf8: SET character_set_connection = 'utf8'
  • クエリ結果のutf8:SET character_set_results = 'utf8'
  • dbクライアントのutf8:SET character_set_client = 'utf8'
  • mysqlテーブルのutf8:ALTER TABLE table CONVERT TO CHARACTER SET utf8;
  • dbサーバーのutf8:SET character_set_database = 'utf8'およびSET character_set_server = 'utf8'
  • 場合によっては、ハードコードされた値にエンコードが必要な場合は、ファイルにutf8を強制する必要があります。たとえば、ファイルの上にコメントを追加する必要があります。charset=utf-8これにより、ultraeditまたはお気に入りのエディターがコメントを検出できます。

rgds。

ps:utf32はわかりませんが、どういうわけかロジックは同じである必要があります

于 2012-07-11T12:37:24.920 に答える