2

ポルトガル語-ブラジル語のテキストのように、「ã」、「é」、「ó」、「ç」(Dvorak International)を挿入したいと思います。データベースで照合タイプを設定しました: utf8_general_ciです が、機能していません。ここに貼り付けようとしていますが、ここでは問題なく表示されています。しかし、データベースでは適切に表示されていません。

では、ポルトガル語に適した照合を教えてください。

私のHTMLページの文字エンコードは次のとおりです。

<meta http-equiv="Content-Type" content="text/html; charset=pt-BR" />
4

3 に答える 3

2

UTF-8は、ポルトガル語で正常に機能するはずです。

これを試して:

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

編集:

次に、2つのことが起こっている可能性があります。

  1. データベース内のエンコーディングがデータベース内の文字列に対して間違っています
  2. ファイルが正しくエンコードされていません。(UTF-8以外の何かでエンコードされています)。
于 2012-11-05T08:20:23.663 に答える
1

ブラジルのプログラマーとして、私はこの状況に何度か直面しました。問題は、私の経験によれば、適切な文字セット(ISO-8859-1であるブラジルポルトガル語の場合)でページをエンコードするだけでは問題が解決しないことです。

データベースとページの両方をそれに応じてエンコードする必要があります。私の知る限り、問題のHTML部分では、メタタグは次のようになります。

<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />

注:Tivieが別の回答で指摘したように、メタタグを介してのみ文字セットを設定するだけでは不十分です。ファイルのエンコーディング(example.htm)も、UnicodeやUTF-8ではなくAnsiに設定する必要があります。そうしないと、アクセント記号付きの文字(áôíçなど)が正しく表示されません。

データベースに関しては、情報を取得して正しく表示するには、以下のように正しい文字セットと照合を設定する必要があります(MySQLの場合)。

文字セット:latin1--cp1252西ヨーロッパ

照合:latin1_swedish_ci(「スウェーデン語」にもかかわらず、ブラジルポルトガル語で最適に機能するものです。)

于 2014-01-10T17:18:02.483 に答える
0

無効な文字セットを渡すと文字が正しく表示されるように見えるため、ファイルのエンコーディングがメタタグと一致していない可能性があります。

例:

あなたはindex.htmlを持っています

index.htmlを追加する場合<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />、ファイルエンコーディングはUTF-8であり、他のものではありません。

Windowsでnotepad++を使用して、ファイルのエンコーディングを見つけることができます。MACを使用している場合、ファイルはおそらくMacRomanでエンコードされています。

このリンクを確認してください。Notepad++を使用してファイルエンコーディングを確認する方法が説明されています:http ://www.abdullahyahya.com/2011/09/22/find-out-a-files-encoding-on-windows/

于 2012-11-05T09:57:25.083 に答える