web-dev-qa-db-ja.com

コードページ65001とutf-8は同じものですか?

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<!--#include file="conn.asp"-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

上記のコードは正しいですか?

44
Mask

はい。

UTF-8は、WindowsのCP65001です(これは、従来のコードページでUTF-8を指定する方法にすぎません)。私が読む限り、ASPはそのように指定されたときにUTF-8を処理できます。

47
Joey

あなたのコードは正しいですが、メタタグを使用するよりもコードでCharSetを設定することを好みます。

<% Response.CharSet = "UTF-8" %>

コードページ65001はUTF-8文字セットを参照します。標準のASCII文字セット以外の文字が含まれている場合、aspページ(およびすべてのインクルード)がUTF-8として保存されていることを確認する必要があります。

<%@ブロックでCODEPAGE属性を指定することにより、Response.Writeを使用して記述されたものはすべて、指定されたコードページ(この場合は65001(utf-8))にエンコードされることを示しています。これは、バイト単位で応答に送信される静的コンテンツには影響しないことに留意してください。したがって、ファイルが指定されたコードページを使用して実際に保存される必要がある理由。

応答のCharSetプロパティは、Content-TypeヘッダーのCharSet値を設定します。これは、エンコードされているコンテンツがクライアントにどのエンコードが受信されているかを伝える方法に影響を与えません。繰り返しますが、彼の値が送信された実際のエンコーディングと一致することが重要です。

9
AnthonyWJones

はい、65001は、UTF-8のWindowsコードページ識別子です。ドキュメントに記載されているように、 Microsoft Webサイト上 です。 ウィキペディアが示唆する IBMコードページ128およびSAPコードページ4110もUTF-8の指標である。

3
Tim
response.codepage = 65001

物理ファイルがutf-8として保存されると、悪い結果を与えるようです

それ以外の場合は、想定どおりに機能します。

1
VbNetMatrix