ヘッダーでエンコードが定義された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é)