@@ [[charsetパラメータ]]の項と統合して書きなおす * 定義 [846] > A charset is a method of mapping a sequence of octets to a sequence of abstract characters. A charset is, in effect, a combination of one or more CCSs with a CES. Charset names are registered by the IANA according to procedures documented in [RFC2278]. > Many protocol definitions use the term "character set" in their descriptions. The terms "charset" or "character encoding scheme" are strongly preferred over the term "character set" because "character set" has other definitions in other contexts and this can be confusing. ;; [CITE@en[RFC 3536 - Terminology Used in Internationalization in the IETF]] ([TIME[2011-01-29 02:14:52 +09:00]] 版) * ほわっといず charset? char は[[文字]] character の略として業界(どこ)では頻用される語句です。 set はその通りセットですが、数学の set と同じ(ような)意味で、 正統的(謎)には[[集合]]と訳します。 ですから、そのまま解釈すると文字集合ということになります。 しかし、この辺の用語の混乱は激しくて、大抵は単なる文字の集合 のことだけではなくて、その文字の集合に数字を割り振ったものとか、 その数字と計算機上の表現の対応の定義とか、そういう (文字を計算機で扱うのに必要な) 余計な色々までひっくるめて、 charset と呼びます。 * MIME charset [[MIME]] が定義する charset が、一番有名でしょう。 RFC 2045 〜 2049 には charset という語の定義は出てきませんが、 "charset" parameter は文字集合 character set を示すパラメーター らしいので、 character set = charset と考えて良いと思われます、 ** 文字集合 Character Set (RFC 2045 2.2) [PRE[ The term "character set" is used in MIME to refer to a method of converting a sequence of octets into a sequence of characters. Note that unconditional and unambiguous conversion in the other direction is not required, in that not all characters may be representable by a given character set and a character set may provide more than one sequence of octets to represent a particular sequence of characters. ]PRE] 用語「character set」 「文字集合」 は MIME ではオクテット列を 文字列に変換する方法を表します。なお、逆方向への無条件かつ曖昧でない 変換は必須ではありません。全ての文字が当該文字集合で表現可能でない かもしれませんし、その文字集合で特定の文字列を表現するのに 複数のオクテット列が使えても構いません。 [PRE[ This definition is intended to allow various kinds of character encodings, from simple single-table mappings such as US-ASCII to complex table switching methods such as those that use ISO 2022's techniques, to be used as character sets. However, the definition associated with a MIME character set name must fully specify the mapping to be performed. In particular, use of external profiling information to determine the exact mapping is not permitted. ]PRE] この定義は、 US-ASCII のように簡単な単一表対応付けから ISO 2022 技術を使うものまで、様々な種類の文字符号化を文字集合として 使うことを認めるものです。しかし、 MIME 文字集合名に関連付けられる定義は 使われる対応付けを完全に規定するものでなければなりません。 特に、正確な対応付けに外部プロファイル情報を使うのは認められません。 [PRE[ NOTE: The term "character set" was originally to describe such straightforward schemes as US-ASCII and ISO-8859-1 which have a simple one-to-one mapping from single octets to single characters. Multi-octet coded character sets and switching techniques make the situation more complex. For example, some communities use the term "character encoding" for what MIME calls a "character set", while using the phrase "coded character set" to denote an abstract mapping from integers (not octets) to characters. ]PRE] 参考: 用語「character set」「文字集合」は元々は US-ASCII や ISO-8859-1 のように単一オクテットと単一文字の一対一の単純な対応付けを持つ 分かりやすい方式を指していました。多オクテット符号化文字集合や 切り替え技術のおかげで状況が複雑になりました。例えば、 用語「文字符号化 character encoding」を MIME で言うところの 「文字集合 character set」に使い、語句「符号化文字集合 coded character set」 で整数 (オクテットで無しに) から文字への抽象的な対応付けを示す 世間もあります。 (訳注: [[CES]]/[[CCS]] 論のことらしい。 Ned じーさんは、 CCS/CES 論は charset の1種ではあるが charset はそれに限定されない とおっしゃってます。) [66] [CITE[Re: Media types for RDF languages N3 and Turtle]] ([[Sean B. Palmer]] 著, [CODE[2007-12-17 15:51:29 +09:00]] 版) * [CODE(MIME)@en[text/*]] の [CODE(MIME)@en[charset]] 引数 [885] [[MIME型]] [CODE(MIME)@en[[[text/[VAR[*]]]]]] の [CODE(MIME)@en[[[charset]]]] [[引数]]については、 [CODE(MIME)@en[[[text/[VAR[*]]]]]] を参照してください。 * XML encoding →[[.//XML]] * 文字集合 charset は省略形のように見えます。元々はそうなのでしょうが、 今となっては charset は charset であって charset でしかない、 と考えるのが適当かもしれません。訳にあたっても、 訳して原文のニュアンスが失われるとアレなので (ニュアンスなんて そもそも残らないかもしれませんけど。) そのまま charset とするのが良いのではないでしょうか。 正規形のように見える character set は、[[文字集合]]と訳すのが 定着してます。こちらの語は、 (やはり charset と同様の混乱はあるものの) より本来の意味 (文字の集合) で使われていると思われます。 - [1] なんにせよ、[[文字コード]]のところに挙げられている charset の類義語は、その''文脈ごとに意味が異なる''くらいに思っていないと要らぬ勘違いをしてしまいます。 - [2] [[MIME]] charset の最小化規則と、 [[HTTP]] [[CGI]] のような動的生成って本質的に相容れないもののような気がしませんかね。あるいは streaming 的なものとも。 [[chunked符号化]]の尾っぽ header を使えば何とかならなくもない気もするけど, クライアント側で届いたところからレンダリングが不能になって結局意味がない (サーバー側でデータ生成完了後に charset を判定して一気に送りつけるのと変わらない) し、よって steraming には使いようがないし。 - [3] >>2 の解法は最小化規則をあきらめちゃうしかないのかな。 CGI 動的生成はまだ最大の範囲を知ってそうなものだけど、 streaming だと知らないこともあり得る (多言語会談とか?) から、考えうる最大の charset ([[UTF-8]] とか?) を予め仮定しておくしかなさそう。 - [4] >>3 の考え方はつまり charset 指定の最大化であって、 MIME の考えとは全く逆になってしまう。 - [5] >>4 そもそも MIME の最小化規則は相互通信性最大化を目的としている。 [[SMTP]]/[[822]] では基本的にやり直しが効かないから、一度で相手に伝える必要がある (概念上は)。一方 HTTP とかだと[[内容折衝]]もあるし、 (歴史的経緯のせいで) ブラウザの利用者の操作で文字コード選択が出来るから (メイラにもあるけど、 MIME の思想的には考慮外だと思う。) 一度で伝える必要性ってのはあんまりないのかもしれない。こういう考え方の違いがにじみ出てる気がする。 - [6] ところで MIME 厨うざい。 MIME (IANA) charset 名だけが[[文字コード]]の名前ではないわけで。色んな[[文字コード]]名がこれ以上乱立するのは鬱だから IANA 名を使おうとするのは別に構わないんだが。 - [7] >>6 構わないんだが、だからといって IANA 名と違うから間違ってる!直せ!ってのはもうアホかと。 - [8] >>6-7 既に乱立してる名前はもうなくせないから、せめて新しい名前を作らない努力はするべきですね。それと IANA 名の強制は話が別。大体、 IANA registry はぐちゃぐちゃだし登録されてない文字コードも多いし、互換性とかと関係ない場面で採用するのがいいとは思えない。 - [9] >>8 とはいうものの IANA 名以外にまともな registry はないよな。やっぱり現実には何でもあり, IANA 名推奨。に落ち着くのかなあ。 - [10] >>6-9 なんだが、 IANA 名が正式な名前であってその他の名前を標準名にするなとかうるさい厨がいるんだよな〜。 MIME に於いては IANA 名のうち MIME preferred name が推奨されるとか、常識的に考えて Alias 名より Name の欄にある名前が「正式」なんだろうとか、 IETF/IANA の世界では IANA 名が「正式」なんだろうとか思われるけど、一端そういう世界を出てしまったら、「正式」もなにもないと思うんだけどな〜 - [11] >>10 つまり、ここに挙がっていることやその他の, 名前選択の長短についての検討を含めて、こういう名前採用すべし、っていう意見ならどんどん勝手に言えばいいんだけど、これが IANA で決まってるから正式なんだ、と非 IETF 世界で, それ以上の根拠を述べずに主張しても、うざいだけ。 - [12] 最近妙に普及している [CODE(MIME)[charset]] 名に [CODE(charset)[[[none]]]] があります。 [[Apache]] の設定ファイルで [CODE[[[AddDefaultCharset]]]] [[指令]]を使って [CODE[AddDefaultCharset none]] と書くべきであるという不思議な知識が蔓延しているからです。 [WEAK[(たぶん [CODE[AddDefaultCharset off]] と書きたかったのでしょう。もっとも、 Apache 付属の説明文すら読めない人が [CODE[AddDefaultCharset off]] を正しく使えるとは思えませんが。 [CODE[AddDefaultCharset]] 指令は初心者が使う機能ではありませんよ。)]] - [13] 一応補足しますが、 >>12 は [[HTTP]] の [CODE(MIME)[[[Content-Type]]]] 欄での[[媒体型]]指定において使います。 * CGI における [CODE(MIME)@en[charset]] 引数 ** CGI 要求における既定値 [861] [[CGI]] の[[メタ変数]] [CODE(CGI)@en[[[CONTENT_TYPE]]]] においては、 [[既定値]]が次の優先度で定義されています。 = [[MIME型]]依存で[[システム定義]]の[[既定値]]を定めても[['''構いません''']]。 = [CODE(MIME)@en[[[text/*]]]] については [[RFC 2616]] に従い [CODE(charset)@en[[[ISO-8859-1]]]] です。 = [[MIME型]]で[[既定値]]が定義されていれば、それです。 = [CODE(charset)@en[[[US-ASCII]]]] です。 [REFS[ - [862] [CITE@en[RFC 3875 - The Common Gateway Interface (CGI) Version 1.1]] ([TIME[2011-11-20 06:09:05 +09:00]] 版) ]REFS] [863] [[HTTP]] との実質的な違いは第1位の[[システム定義]]の[[既定値]]が認められていることです。 [[CGI]] は[[システム]]の慣習によって[[鯖]]から[[CGIスクリプト]]に値を引き渡す前に諸々の変換を施すことが認められているので、 [[charset]] についても同様の取り扱いを行えるように、との配慮なのでしょうか。 ** CGI 応答における既定値 [864] 特に[[システム定義]]がなければ、[[クライアント]]によって [CODE(MIME)@en[[[text/*]]]] の既定の [[charset]] が [[HTTP]] なら [CODE(charset)@en[[[ISO-8859-1]]]]、そうでなければ [CODE(charset)@en[[[US-ASCII]]]] とみなされます。そのため[[CGIスクリプト]]は [CODE(MIME)@en[[[charset]]]] [[引数]]を含める[['''べきです''']]。 [SRC[>>865]] [REFS[ - [865] [CITE@en[RFC 3875 - The Common Gateway Interface (CGI) Version 1.1]] ([TIME[2011-11-20 06:09:05 +09:00]] 版) ]REFS] [866] 明記されていませんが、[[システム定義]]があれば実装は [[charset]] の変換を適宜行うことになるでしょうし、 [CODE(MIME)@en[[[charset]]]] が指定されていなかったり不適切だったりすると適宜書き換えるものと思われます。 ** EBCDIC/POSIX [868] [[EBCDIC]] を使う [[POSIX]] 環境では、既定の [[charset]] は [[IBM1047]] です。これは [CODE(MIME)@en[[[text/*]]]] とその他[[実装定義]]の [[MIME型]]に適用されます。 [SRC[>>867]] [REFS[ - [867] [CITE@en[RFC 3875 - The Common Gateway Interface (CGI) Version 1.1]] ([TIME[2011-11-20 06:09:05 +09:00]] 版) ]REFS] * [CODE(MIME)@en[charset]] 引数が使われている MIME 型とその定義のバリエーション ** [[MIME]] の [CODE(MIME)@en[charset]] 引数と互換な定義 [14] -- [CODE(MIME)@en[[[text/plain]]]] ([[平文]]) --- [DEL[[[RFC 1341]]]], [DEL[[[RFC 1521]]]], [[RFC 2046]] -- [CODE(MIME)@en[[[text/html]]]] ([[HTML]]) --- [[HTML4]] 以前の定義 -- [CODE(MIME)@en[[[text/csv]]]] ([[CSV]]) --- [[RFC 4180]] --- [Q[[CODE(MIME)@en[[[text/[VAR[*]]]]]] で使えるものは使える]]という定義。 --- 省略可能。 -- [CODE(MIME)@en[[[application/sgml-open-catalog]]]] ([[SGML型録]]) -- [CODE(MIME)@en[[[text/troff]]]] --- [[RFC 4263]] --- [[RFC 2046]] を参照。 --- 省略可能。 -- [830] [CODE(MIME)@en[[[text/owl-functional]]]]、[CODE(MIME)@en[[[text/owl-manchester]]]] --- [CITE[OWL 2 Web Ontology Language Structural Specification and Functional-Style Syntax]] ([TIME[2009-10-27 23:15:00 +09:00]] 版) --- [CITE[OWL 2 Web Ontology Language Manchester Syntax]] ([TIME[2009-10-27 23:14:56 +09:00]] 版) --- 規定が曖昧ながら、 [[MIME]] の定義を上書きする意図はないように見えます。 --- ただし [[MIME]] を参照しているわけではありません。 --- UTF-8 を[[推奨]]。 -- [831] [CODE(MIME)@en[[[application/owl+xml]]]] --- [CITE[OWL 2 Web Ontology Language XML Serialization]] ([TIME[2009-10-27 23:15:01 +09:00]] 版) --- 規定が曖昧ながら、 [[MIME]] の定義を採用しているように見えます。 --- ただし [[MIME]] を参照しているわけではありません。 --- [[RFC 3023]] は参照していません。 ** [[MIME]] の [CODE(MIME)@en[charset]] 引数の部分集合な定義 [REFS[ [838] - [888] [CODE(MIME)@en[[[application/shf+xml]]]] ([[SHF]]) -- [[RFC 4194]] -- 値は [CODE(charset)@en[[[UTF-8]]]] のみ。 -- 必須。 - [889] [CODE(MIME)@en[[[text/provenance-notation]]]] -- [CITE@en[PROV-N: The Provenance Notation]] ([TIME[2013-04-25 04:01:26 +09:00]] 版) -- 値は [CODE(charset)@en[[[UTF-8]]]] のみ。 -- 必須。 - [72] [CODE(MIME)@en[[[text/n3]]]], [CODE(MIME)@en[[[text/rdf+n3]]]], [CODE(MIME)@en[[[application/n3]]]] -- [CITE@en[Notation3 (N3): A readable RDF syntax]] ([TIME[2008-01-16 03:12:43 +09:00]] 版) -- 値は [CODE(charset)@en[[[utf-8]]]] のみ。 -- [[ASCII]] の場合のみ、省略可能。 - [875] [CODE(MIME)@en[[[text/owl-manchester]]]] -- [CITE[OWL 2 Web Ontology Language Manchester Syntax]] ([TIME[2012-10-18 22:45:56 +09:00]] 版) -- 省略可能。 -- 値は [CODE(charset)@en[[[UTF-8]]]] のみ。 - [876] [CODE(MIME)@en[[[text/ping]]]] -- [CITE@en-US-x-hixie[HTML Standard]] ([TIME[2012-10-19 23:02:58 +09:00]] 版) -- [CITE@en[Web Applications 1.0 r7468 Update the IANA registration templates to allow charset='' parameters so that when we change to the new registration mechanism for MIME types, we don't forget to allow these.]] ([TIME[2012-10-18 08:53:00 +09:00]] 版) -- 省略可能。 -- 値は [CODE(charset)@en[[[utf-8]]]] のみ。 - [877] [CODE(MIME)@en[[[text/event-stream]]]] -- [CITE@en-US-x-hixie[HTML Standard]] ([TIME[2012-10-19 23:02:58 +09:00]] 版) -- 省略可能。 -- 値は [CODE(charset)@en[[[utf-8]]]] のみ。 - [878] [CODE(MIME)@en[[[text/cache-manifest]]]] -- [CITE@en-US-x-hixie[HTML Standard]] ([TIME[2012-10-19 23:02:58 +09:00]] 版) -- [CITE@en[Web Applications 1.0 r7468 Update the IANA registration templates to allow charset='' parameters so that when we change to the new registration mechanism for MIME types, we don't forget to allow these.]] ([TIME[2012-10-18 08:53:00 +09:00]] 版) -- 省略可能。 -- 値は [CODE(charset)@en[[[utf-8]]]] のみ。 ]REFS] *** Turtle --[73] [CODE(MIME)@en[[[text/turtle]]]], [CODE(MIME)@en[[[application/x-turtle]]]] --- [CITE@en[Turtle - Terse RDF Triple Language]] ([TIME[2008-01-16 02:03:24 +09:00]] 版) --- [CITE@en[Turtle - Terse RDF Triple Language]] ([TIME[2008-01-16 02:03:24 +09:00]] 版) --- 値は [CODE(charset)@en[[[UTF-8]]]] のみ。 --- [CODE(MIME)@en[[[text/[VAR[*]]]]]] で [CODE(MIME)@en[[[charset]]]] [[引数]]なしで [[UTF-8]] が使えるようになるまでは、 [CODE(MIME)@en[[[charset]]]] [[引数]]を明示することを推奨。 --- [[ASCII]] の場合のみ、省略可能。 [REFS[ - [873] [CITE@EN[R2RML: RDB to RDF Mapping Language]] ([TIME[2012-09-27 00:23:35 +09:00]] 版) ]REFS] [874] [[R2RML]] である [[Turtle]] について: [CODE(MIME)@en[[[charset]]]] [[引数]]を使う[['''べきです''']] [SRC[>>873]]。 - [850] [CODE(MIME)@en[[[text/event-stream]]]] -- 値は [CODE(charset)@en[[[utf-8]]]] のみ。 -- 省略可能。 -- - [851] [CODE(MIME)@en[[[text/html]]]], [CODE(MIME)@en[[[text/html-sandboxed]]]] ([[HTML MIME型]]) -- [[優先MIME名]]でなければならないなどいくつか制約あり。 -- -- ** [[RFC 3023]] の [CODE(MIME)@en[charset]] と同じ定義 [840] [REFS[ - [841] [CODE(MIME)@en[[[application/rif+xml]]]] -- [CITE[RIF Core Dialect]] ([TIME[2010-06-22 23:52:50 +09:00]] 版) -- [[RFC 3023]] を参照。 -- 省略可能。 - [879] [CITE@en[RFC 6787 - Media Resource Control Protocol Version 2 (MRCPv2)]] ([TIME[2012-11-13 15:18:40 +09:00]] 版) ]REFS] ** [[RFC 3023]] [CODE(MIME)@en[[[application/xml]]]] と同じ定義 [REFS[ [839] -- [15] [CODE(MIME)@en[[[application/cdl+xml]]]] --- [CITE@en[Web Services Choreography Description Language Version 1.0]] --- 省略可能。 -- [16] [CODE(MIME)[[[application/ccxml+xml]]]] --- [[RFC 4267]] --- 省略可能。 -- [17] [CODE(MIME)@en[[[application/voicexml+xml]]]] --- [[RFC 4267]] --- 省略可能。 -- [18] [CODE(MIME)@en[[[application/srgs+xml]]]] --- [[RFC 4267]] --- 省略可能。 -- [19] [CODE(MIME)@en[[[application/ssml+xml]]]] --- [[RFC 4267]] --- [[RFC 4267]] --- 省略可能。 -- [20] [CODE(MIME)@en[[[application/pls+xml]]]] --- [[RFC 4267]] --- 省略可能。 -- [20] [CODE(MIME)@en[[[application/atom+xml]]]] --- [[RFC 4287]] 7. --- 省略可能。 -- [823] [CODE(MIME)@en[[[application/atomcat+xml]]]] --- [[RFC 5023]] --- 省略可能。 -- [824] [CODE(MIME)@en[[[application/atomsvc+xml]]]] --- [[RFC 5023]] --- 省略可能。 -- [883] [CODE(MIME)@en[[[application/atomdeleted+xml]]]] --- [884] [CITE@en[RFC 6721 - The Atom "deleted-entry" Element]] ([TIME[2012-12-31 01:08:20 +09:00]] 版) --- 省略可能。 -- [21] [CODE(MIME)@en[[[application/sparql-result+xml]]]] --- [CITE@en[SPARQL Query Results XML Format]] --- [CITE@en[SPARQL Query Results XML Format (Second Edition)]] ([TIME[2013-03-21 20:27:51 +09:00]] 版) --- 省略可能。 -- [22] [CODE(MIME)@en[[[application/xv+xml]]]] --- [[RFC 4374]] --- 省略可能。 -- [23] [CODE(MIME)@en[[[application/smil+xml]]]], [CODE(MIME)@en[[[application/smil]]]] --- [[RFC 4536]] --- 省略可能。 -- [26] [CODE(MIME)@en[[[application/simple-filter+xml]]]] --- [[RFC 4661]] --- 省略可能。 -- [29] [CODE(MIME)@en[[[application/vnd.sun.wadl+xml]]]] --- 省略可能。 -- [31] [CODE(MIME)@en[[[application/mediaservercontrol+xml]]]] --- [[RFC 4722]] --- 省略可能 -- [33] [CODE(MIME)@en[[[application/docbook+xml]]]] --- [[DocBook]] 仕様書 --- 省略可能 -- [35] [CODE(MIME)@en[[[application/xslt+xml]]]] --- [CITE@EN[XSL Transformations (XSLT) Version 2.0]] --- 省略可能 -- [36] [CODE(MIME)@en[[[application/xquery+xml]]]] --- [CITE@en[XML Syntax for XQuery 1.0 (XQueryX)]] --- 省略可能 -- [37] [CODE(MIME)@en[[[application/cpl+xml]]]] --- [[RFC 3880]] --- 省略可能 -- [44] [CODE(MIME)@en[[[application/resource-lists+xml]]]] --- [[RFC 4826]] --- 省略可能 -- [45] [CODE(MIME)@en[[[appliaction/rls-services+xml]]]] --- [[RFC 4826]] --- 省略可能 -- [46] [CODE(MIME)@en[[[application/wsdl+xml]]]] --- [CITE@en[Web Services Description Language (WSDL) Version 2.0 Part 1: Core Language]] --- 省略可能 -- [50] [CODE(MIME)@en[[[application/wspolicy+xml]]]] --- [CITE@en-US[Web Services Policy 1.5 - Framework]] --- 省略可能 -- [67] [CODE(MIME)@en[[[application/sparql-result+xml]]]] --- [CITE@en[SPARQL Query Results XML Format]] --- 省略可能 - [70] [CODE(MIME)@en[[[application/patch-ops-error+xml]]]] -- [[RFC 5261]] ([[IETF]] [[提案標準]]) -- 省略可能 -- [CITE@en[RFC 5261 - An Extensible Markup Language (XML) Patch Operations Framework Utilizing XML Path Language (XPath) Selectors]] ([TIME[2013-08-11 16:56:51 +09:00]] 版) - [837] [CODE(MIME)@en[[[application/xproc+xml]]]] -- [CITE[XProc: An XML Pipeline Language]] ([TIME[2010-05-11 22:38:07 +09:00]] 版) -- 省略可能 -[827] [CODE(MIME)@en[[[application/emma+xml]]]] -- [CITE[EMMA: Extensible MultiModal Annotation markup language]] -- 省略可能 -[845] [CODE(MIME)@en[[[application/xquery+xml]]]] -- [CITE@EN[XML Syntax for XQuery 1.0 (XQueryX) (Second Edition)]] -- 省略可能 - [847] [CODE(MIME)@en[[[application/tei+xml]]]] -- [CITE@en[RFC 6129 - The \x27application/tei+xml\x27 Media Type]] ([TIME[2011-04-21 05:04:28 +09:00]] 版) -- 省略可能 - [852] [CODE(MIME)@en[[[application/xhtml+xml]]]] -- -- 省略可能 - [853] [CODE(MIME)@en[[[application/metalink4+xml]]]] -- [CITE@en[RFC 5854 - The Metalink Download Description Format]] ([TIME[2011-07-03 17:23:02 +09:00]] 版) -- 省略可能 - [854] [CODE(MIME)@en[[[application/inkml+xml]]]] -- [CITE[Ink Markup Language (InkML)]] ([TIME[2011-09-20 17:16:49 +09:00]] 版) -- 省略可能 - [858] [CODE(MIME)@en[[[application/evd+xml]]]] -- [CITE@en[Web Services Event Descriptions (WS-EventDescriptions)]] ([TIME[2011-12-13 20:09:52 +09:00]] 版) -- 省略可能 - [886] [CODE(MIME)@en[[[application/xenc+xml]]]] -- [CITE@en[XML Encryption Syntax and Processing Version 1.1]] ([TIME[2013-04-13 02:02:32 +09:00]] 版) -- 省略可能 - [887] [CODE(MIME)@en[[[application/provenance+xml]]]] -- [CITE@en[PROV-XML: The PROV XML Schema]] ([TIME[2013-04-30 13:05:52 +09:00]] 版) -- 省略可能 - [892] [CODE(MIME)@en[[[application/xop+xml]]]] -- [CITE@en[XML-binary Optimized Packaging]] ([TIME[2005-01-24 23:00:54 +09:00]] 版) -- 省略可能 ]REFS] ** [[RFC 3023]] [CODE(MIME)@en[[[application/xml]]]] の [CODE(MIME)@en[[[charset]]]] [[引数]]の[[部分集合]]な定義 [27] -- [28] [CODE(MIME)@en[[[application/cellml+xml]]]] ([[CellML]]) --- [[RFC 4642]] ([[IETF]] [[情報提供]] [[RFC]]) --- 省略可能。 --- [CODE(charset)@en[[[UTF-8]]]] だけが[[妥当]]な値 --- [[利用者エージェント]]は他の値に対応[['''して構いません''']] ** [[RFC 3023]] の [CODE(MIME)@en[[[text/xml]]]] の [CODE(MIME)@en[[[charset]]]] と同じ定義 [40] -- [41] [CODE(MIME)@en[[[text/cmml]]]] --- [CITE@en[The Continuous Media Markup Language (CMML), Version 2.1]] ([CODE[2006-05-06 10:39:46 +09:00]] 版) ([[満期]] ([DEL@en[[[IETF]] [[I-D]]]])) - [24] [CODE(MIME)@en[[[text/javascript]]]], [CODE(MIME)@en[[[text/ecmascript]]]], [CODE(MIME)@en[[[application/javascript]]]], [CODE(MIME)@en[[[application/ecmascript]]]] -- [[RFC 4329]] -- 省略可能。 - [32] [CODE(MIME)@en[[[application/beep]]]] ([[BEEP]]) -- [[RFC 3080]] ([[IETF]] [[提案標準]]) -- [[既定値]]が [CODE(charset)@en[[[UTF-8]]]] であることと、 [[UTF-8]] 以外を用いる時は [CODE(MIME)@en[[[charset]]]] [[引数]]が必要なことだけ規定されています。 ** OWL [REFS[ - [880] [[OWL]] [CODE(MIME)@en[[[application/owl+xml]]]] -- [CITE[OWL 2 Web Ontology Language XML Serialization (Second Edition)]] ([TIME[2012-12-09 23:47:30 +09:00]] 版) - [881] [[OWL]] [CODE(MIME)@en[[[text/owl-manchester]]]] -- [CITE[OWL 2 Web Ontology Language Manchester Syntax (Second Edition)]] ([TIME[2012-12-09 23:47:26 +09:00]] 版) - [882] [[OWL]] [CODE(MIME)@en[[[text/owl-functional]]]] -- [CITE[OWL 2 Web Ontology Language Structural Specification and Functional-Style Syntax (Second Edition)]] ([TIME[2012-12-10 01:13:39 +09:00]] 版) ]REFS] ** SQL [REFS[ - [891] [CODE(MIME)@en[[[application/sql]]]] ([[SQL]]) -- [CITE@en[RFC 6922 - The application/sql Media Type]] ([TIME[2013-08-04 17:13:41 +09:00]] 版) ]REFS] ** メモ [25] [CITE[Charset parameter of +xml media types from Bjoern Hoehrmann on 2006-09-05 (www-archive@w3.org from September 2006)]] ([[名無しさん]] [WEAK[2006-09-07 23:19:07 +00:00]]) [30] [CITE[I'm not a Klingon : Expected names of Microsoft Windows "ANSI" Code Pages (Encodings)]] ([[名無しさん]] [sage]) [34] [CITE@en[Re: Unicode distribution? from Erik van der Poel on 2007-01-05 (www-international@w3.org from January to March 2007)]] ([[Erik van der Poel (erikv@google.com)]] 著, [CODE[2007-01-07 23:27:03 +09:00]] 版) ([[名無しさん]] [WEAK[2007-01-12 21:09:39 +00:00]]) [43] [CITE[ハーブティー、アロマオイル、アロマランプを種類豊富に販売ユーン 卸販売]] ([CODE[2007-06-11 01:15:22 +09:00]] 版) この[[鯖]]は全部設定がおかしいみたい。 [CODE(MIME)@en[[[charset]]=0]] になってる。 ([[名無しさん]] [WEAK[2007-06-10 16:18:27 +00:00]]) [48] [CITE[openssl-engine-0.9.6a/test/CAss.cnf - Google Code Search]] ([CODE[2007-09-19 10:28:09 +09:00]] 版) [PRE(HTTP bad example code)[ Content-Type: text/html; charset=UTF-8; charset=UTF-8 ]PRE] ([[名無しさん]]) [49] >>48 [CODE(HTTP)@en[[[User-Agent]]:]] か何かによっては後者が [CODE(charset)@en[[[ISO-8859-1]]]] になることもある模様。 ([[名無しさん]] [WEAK[2007-09-19 01:33:01 +00:00]]) [[#comment]] * メモ [38] [CITE@en-us[TMX Specification]] ([CODE[2007-02-24 17:51:20 +09:00]] 版) ([[名無しさん]] [sage]) [39] [CITE@en-us[TMX Specification]] ([CODE[2007-02-24 17:51:20 +09:00]] 版) ([[名無しさん]] [sage]) [42] [CITE[Kazuho@Cybozu Labs: Re: PoCo::Client::HTTP が勝手に文字コードを変えてしまう件]] ([CODE[2007-04-24 06:52:47 +09:00]] 版) charset=iso-8859-1 default Breaks the Web. ([[名無しさん]] [WEAK[2007-04-23 21:54:55 +00:00]]) [47] [CITE[hoshikuzu | star_dust の書斎]] ([CODE[2007-08-10 22:40:44 +09:00]] 版) ([[名無しさん]]) [51] [CITE[feel部屋:皆様に幸と笑いあれ♪ - 轟轟戦隊]] ([CODE[2007-09-24 14:10:56 +09:00]] 版) > [PRE(HTML example code)[ ]PRE] [[リンク先]]の [[CSS]] [[スタイル・シート]]は、 [CODE(CSS)@en[@[[charset]]]] の指定はあるものの [[HTTP]] [CODE(HTTP)@en[[[Content-Type]]:]] [CODE(MIME)@en[[[charset]]]] は指定なし。 ([[名無しさん]]) [52] [CITE[メモ - 葉っぱ日記]] ([CODE[2007-11-28 12:10:50 +09:00]] 版) ([[名無しさん]]) [53] [CODE(CSS)@en[@[[charset]]]] [[規則]]を書ける場所にはいくつかの制約があります。 また、[[利用者エージェント]]は[[スタイル・シート]]の先頭以外にある [CODE(CSS)@en[@[[charset]]]] [[規則]]を[[無視]]しなければならないことになっています。 ですが、 [[Firefox]] 2 も [[Opera]] 9 も、 少なくても [[CSSOM]] に [CODE(CSS)@en[@[[charset]]]] に対応する [CODE(DOMi)@en[[[CSSRule]]]] を追加するかに関しては、 ほとんどの制約をチェックしていないようです。 ;; ほとんどの制約は [[charset]] の自動検出を容易にするためのもので、 [[CSSOM]] の構築にはそもそも関係ないからでしょう。 ;; [[WinIE 6]] はまったく [CODE(CSS)@en[@[[charset]]]] を [[CSSOM]] に反映させません。 [CODE(DOMa)@en[[[cssText]]]] にも出てきません。 [54] - 適切な例 - Preferred MIME name でない例 - IANA 名でない例 - 構文的にも IANA 名でない例 - [CODE(char)[[[U+0020]]]] が2つ - [CODE(char)[[[U+0020]]]] の代わりに[[改行]] - [CODE(CSS)[[[;]]]] の前に [CODE(char)[[[U+0020]]]] - [CODE(CSS)[[[;]]]] の前に[[注釈]] - [CODE(CSS)[[["]]]] の代わりに [CODE(CSS)[[[']]]] - [[charset]] 名に [[escape]] - [CODE(CSS)@en[@[[charset]]]] の部分に [[escape]] - [CODE(CSS)@en[@[[charset]]]] が[[大文字]] - [CODE(CSS)@en[@[[charset]]]] の前に[[空白]] - [CODE(CSS)@en[@[[charset]]]] の前に[[改行]] - [CODE(CSS)@en[@[[charset]]]] の前に[[注釈]] [55] - [CODE(CSS)@en[@[[charset]]]] の前に [CODE(CSS)[[[CDO]]]] - [CODE(CSS)@en[@[[charset]]]] の後に [CODE(CSS)[[[CDC]]]] ([[名無しさん]]) [56] [CODE(CSS)@en[[[;]]]] がない: は [[Firefox]] 2 でも [[Opera]] でも無視して空の[[スタイル・シート]]と同じに扱うようです。 ([[名無しさん]]) [57] [CODE(char)[[[U+0020]]]] なし: でも [[Firefox]] 2、[[Opera]] 9 とも [[CSSOM]] に現れます。 ([[名無しさん]]) [58] [CODE(CSS)@en[@[[charset]]]] の前に未知の [[@規則]] - - [[Firefox]] 2、[[Opera]] 9 とも [[CSSOM]] 上に [CODE(CSS)@en[@[[charset]]]] が ([[Opera]] 9 では [CODE(CSS)@en[@a]] も) 現れます。 ([[名無しさん]]) [59] 以下のように [CODE(CSS)@en[@[[charset]]]] を[[無視]]するべき場合に、 [[Firefox]] 2 は [[CSSOM]] 上に [CODE(DOMi)@en[[[CSSCharsetRule]]]] を追加しませんが、 [[Opera]] 9 はします: - [CODE(CSS)@en[@[[media]]]] がある - [CODE(CSS)@en[@[[charset]]]] がある - [CODE(CSS)@en[@[[namespace]]]] がある - [CODE(CSS)@en[@[[import]]]] がある - [[規則集合]]がある ([[名無しさん]]) [60] - ([[CSSOM]] 的に) [[Firefox]] は全部無視、 [[Opera]] 9 は1つ目だけ無視。 ([[名無しさん]]) [61] ([[CSSOM]] 的に) [[Firefox]] 2 も [[Opera]] 9 も全部無視。 ([[名無しさん]]) [62] ([[CSSOM]] 的に) [[Firefox]] 2 も [[Opera]] 9 も、1つ目''だけ''無視。 ([[名無しさん]]) [63] [[charset]] 名の閉じ[[引用符]]がない: - - [[Firefox]] 2、[[Opera]] 9 のどちらも、全部無視。 ([[名無しさん]]) [64] >>54 [CODE(CSS)@en[@[[charset]]]] の部分に [[escape]] は、 [[Opera]] 9 では [CODE(DOM©)@en[[[UNKNOWN_RULE]]]] 扱いでした。 ;; そもそも [[Opera]] 9 は [CODE(CSS)@en[[[ATKEYWORD]]]] 中の [[escape]] に ([CODE(CSS)[[[\0]]]] も含めて) 対応していませんでした。 ([[名無しさん]]) [65] >>59 壊れた [CODE(CSS)@en[@[[namespace]]]] が前にある ([[名無しさん]]) [68] [CITE@en[Re: Unsupported transport-layer encodings]] ([[Alexey Proskuryakov]] 著, [CODE[2008-07-22 20:55:40 +09:00]] 版) ([[名無しさん]]) [69] [CITE@en[Charset usage data]] ([[Philip Taylor]] 著, [CODE[2008-03-06 02:52:53 +09:00]] 版) ([[名無しさん]]) [71] [CITE[HTML5のFPWDとmeta要素のcharset属性 - vantguarde - web:g]] ([TIME[2008-10-07 14:36:29 +09:00]] 版) [74] [CITE[TAG Finding: Internet Media Type registration, consistency of use]] ([TIME[2002-12-17 22:06:12 +09:00]] 版) [825] [CITE@en[MAMA: Document Encodings - Opera Developer Community]] ([TIME[2008-11-25 20:20:22 +09:00]] 版) [826] [[Firefox]] 3 は [CODE(HTMLe)@en[[[script]]]] [CODE(HTMLa)@en[[[charset]]]] が指定されていないと[[スクリプト]]の [CODE(HTTP)@en[[[Content-Type]]]] [CODE(MIME)@en[[[charset]]]] に従いますが (たぶん ― 自動判別かどうかは未調査)、 [[WinIE 7]] はそうじゃないみたいです (たぶん [[HTML]] [CODE(DOMa)@en[[[charcterSet]]]] と同じとみなす)。 [828] [CITE@en-US[The WHATWG Blog » Blog Archive » The Road to HTML 5: character encoding]] ([TIME[2009-02-21 10:51:17 +09:00]] 版) [829] [CITE@en[(X)HTML5 Tracking]] ([TIME[2009-10-13 22:55:03 +09:00]] 版) [832] [CITE@en[RFC 5537 - Netnews Architecture and Protocols]] ([TIME[2009-12-29 07:15:42 +09:00]] 版) [833] [CITE[世界史講義録]] ([TIME[2010-02-28 19:44:19 +09:00]] 版) This page is encoded in [CODE(charset)@en[[[euc-jp]]]], but its [CODE(HTTP)@en[[[Content-Type]]]] is [CODE(MIME)@en[[[text/html]]]] (with no [CODE(MIME)@en[[[charset]]]] parameter). The page includes ... [PRE(HTML bad code)[ ]PRE] ... but it is broken in various ways, sigh. [[Firefox]] correctly decodes the page as [CODE(charset)@en[[[euc-jp]]]], while [[Chrome]] fails to decode the page, by recognizing the content as [CODE(charset)@en[[[shift_jis]]]]. [834] [CITE@en[HTML5 Revision Tracker]] ([TIME[2010-04-14 21:50:48 +09:00]] 版) [835] [CITE[XProc: An XML Pipeline Language]] ([TIME[2010-05-11 22:38:07 +09:00]] 版) [836] [CITE[XProc: An XML Pipeline Language]] ([TIME[2010-05-11 22:38:07 +09:00]] 版) [842] [CITE@@en[Web Applications 1.0 r5295 should only work for ASCII-compatible encodings.Fixing http://www.w3.org/Bugs/Public/show_bug.cgi?id=10260]] ( ([TIME[2010-08-17 04:27:00 +09:00]] 版)) [843] [CITE@@en[Web Applications 1.0 r5414 Allow authors to override WebSRT's encoding using .]] ( ([TIME[2010-09-04 09:14:00 +09:00]] 版)) [844] [CITE[IRC logs: freenode / #whatwg / 20101126]] ( ([TIME[2010-12-06 08:58:36 +09:00]] 版)) [848] [CITE@en[RFC 6047 - iCalendar Message-Based Interoperability Protocol (iMIP)]] ( ([TIME[2011-03-13 15:32:14 +09:00]] 版)) [849] [CITE@en[draft-melnikov-mime-default-charset-00 - Update to MIME regarding Charset Parameter Handling in Textual Media Types]] ([TIME[2011-06-15 09:11:40 +09:00]] 版) [855] [CITE@en[Web Applications 1.0 r6641 Mention that application/x-www-form-urlencoded;charset does nothing.]] ( ([TIME[2011-10-06 08:08:00 +09:00]] 版)) [856] [CITE@en[RFC 6365 - Terminology Used in Internationalization in the IETF]] ([TIME[2011-09-10 19:11:51 +09:00]] 版) [FIG[ [857] > However, it is important to point out that the MIME concept of 'charset' in some cases cuts across several layers of components in our model. While this can be accepted in existing registrations, we also recommend that the MIME registration procedure for character sets be modified to show how a proposed character set deals with the CCS and the CES. Most 'charsets' have a well defined CCS and CES, they should merely be teased apart for the registration. [CITE@en[RFC 2130 - The Report of the IAB Character Set Workshop held 29 February - 1 March, 1996]] ([TIME[2011-09-04 12:12:00 +09:00]] 版) ]FIGCAPTION] ]FIG] [859] [CITE@en[RFC 2277 - IETF Policy on Character Sets and Languages]] ( ([TIME[2011-11-20 13:18:05 +09:00]] 版)) [860] [CITE[IRC logs: freenode / #whatwg / 20111218]] ( ([TIME[2011-12-20 08:31:26 +09:00]] 版)) [869] [CITE@en[Web Applications 1.0 r7160 Require an encoding declaration.]] ( ([TIME[2012-06-30 05:42:00 +09:00]] 版)) [870] [CITE[''''''[''''''whatwg'''''']'''''' Encoding sniffing algorithm]] ( ([TIME[2012-09-07 04:55:05 +09:00]] 版)) [871] [CITE@en[Web Applications 1.0 r7324 Attempt to slightly more closely align with reality.]] ( ([TIME[2012-09-07 13:02:00 +09:00]] 版)) [872] [CITE@en[Web Applications 1.0 r7360 Make a BOM override HTTP headers.]] ( ([TIME[2012-09-16 12:55:00 +09:00]] 版)) [890] [CITE@en[Web Applications 1.0 r7958 New encoding defaults based on more data.]] ( ([TIME[2013-06-12 13:49:00 +09:00]] 版)) [893] [CITE[IRC logs: freenode / #whatwg / 20131029]] ( ([TIME[2013-10-30 20:25:08 +09:00]] 版)) [894] [CITE[IRC logs: freenode / #whatwg / 20131030]] ( ([TIME[2013-11-01 21:16:51 +09:00]] 版))