0

この言葉が私を悩ませています。ブルズカウプ

私のcmsでは、Webページの上部に次の行があります。

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

データベースは上記の単語を as として保存しBrúðkaup、文字セットはlatin1

私のxmlファイルの上部には、次のものがあります。

<?xml version="1.0" encoding="UTF-8" ?>

データベースが間違った文字エンコーディングを使用していませんか? たとえそうであっても。HTMLでutf8文字セットを指定すると、単語が正しく表示されるのはなぜですか。しかし、XML では似たようなことをしていますが、そうではありませんか?

XML は PHP によって生成されます。スクリプトに以下を追加しようとしました。

header('charset=utf-8');

これは違いはありません。何か案は?

4

1 に答える 1

0

データはlatin1(= ISO-8859-1またはwindows-1252)でエンコードされているため、UTF-8エンコードでページに表示するには、UTF-8に変換する必要があります。このためのツールは、データベースからデータを取得してHTMLまたはXMLドキュメントに配置するために使用するソフトウェアによって異なります。

HTMLファイルが正しく表示されている場合は、そのような変換がいずれかの時点で行われたか、HTMLファイルが実際にブラウザによってlatin1エンコードとして解釈されます。これは、サーバーがその効果に文字セットパラメーターを指定するHTTPContent-Typeヘッダーを送信する場合に発生します。HTTPヘッダーはmetaタグをオーバーライドします。

于 2012-10-12T13:10:16.777 に答える