0

ヘッダーでエンコードが定義されたASP.NETページがあり、適切なエンコードで1回だけ読み込まれ、エンコードなしのデータ(ASCII?)が表示されます。

HTMLヘッダーは次のように記述されます。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" >
<meta http-equiv="content-type" content="text/html" /> 
<meta http-equiv="charset" content="utf-8" />

UTF-8として表示されるはずのデータは、SQLのnvarcharセルからフェッチされ、ASP.NetのCookieに入れられます。ページを最初にリロードすると、正常に表示されます。

Salé

次に、他のすべてのリダイレクト/更新の場合、次のように表示されます。

Salé

ブラウザで不良ページのソースをチェックすると、文字セットメタがソースに含まれます。

私のヘッダーは間違っていますか?そうでない場合は、コードをさらに深く掘り下げます。

[編集]

でrunat="server"を使用してプログラムでヘッダーを変更しようとしましたが、<head>機能しませんでした。

Dim meta As System.Web.UI.HtmlControls.HtmlMeta = New System.Web.UI.HtmlControls.HtmlMeta()
meta.HttpEquiv = "content-type"
meta.Content = Response.ContentType + "; charset=" + Response.ContentEncoding.HeaderName
Page.Header.Controls.Add(meta)

[編集]

同様の問題が見つかりました:MySQLデータベースの文字に関するUTF-8の問題(例:éasé)

4

0 に答える 0