[VBS] ADODB.Streamで使える文字コード一覧の取得


01_ADODB.Stream で使用可能な 文字コード ( コードページ ) 一覧
このレジストリのことは
Charset プロパティ (ADO)
HKEY_CLASSES_ROOT\MIME\Database\Charset in the Windows Registry.

という記載がされている。
このためこれをレジストリから取り出し、
HKEY...Charset\
までを消して
VBSCRIPTがあるフォルダをカレントディレクトリにして、
adodbCharSetList.txt
を作成する

ADOStreamChrSetlist.vbs
Dim data
Dim WSH : Set WSH = WScript.CreateObject("WScript.Shell")
Dim fs : Set fs = CreateObject("Scripting.FileSystemObject")
Dim strSrc, colEventSource
Dim outExec, outStream, strOut
Set outExec =Wsh.Exec("cmd.exe /c reg query ""HKEY_CLASSES_ROOT\MIME\Database\Charset""")
Set outStream = outExec.stdOut
strOut = ""
if fs.FileExists(wsh.CurrentDirectory & "\" & "adodbCharSetList.txt") then
fs.DeleteFile(wsh.CurrentDirectory & "\" & "adodbCharSetList.txt")
end if
Do While Not outStream.AtEndOfStream
  strOut = strOut & vbNewLine & outStream.ReadLine()
Loop
Dim ts : set ts =fs.OpenTextFile(wsh.CurrentDirectory & "\" & "adodbCharSetList.txt", 2, true)
ts.WriteLine Replace(strOut , "HKEY_CLASSES_ROOT\MIME\Database\Charset\", "",1,-1,0)
ts.close
WScript.Echo strOut
Set fs = Nothing
Set WSH  = Nothing
Wscript.Quit

画面の方は省略していないため、このように表示されます。
エイリアス(別名)が含まれるため意外と多いです。
HTMLに対応しているのかも知れません。

各ブラウザが解釈可能なcharsetのリスト(古いブラウザver)
もはやサポートが終了したブラウザや、古いバージョンのブラウザのエンコーディングを掲載する。現行のブラウザのテストはこちら。
Safari(win 5.1.7) Safari(OS X、7.0.1) Firefox 18

4.2. Charset クラス

それぞれの文字セットには必ず1つの標準名があり、また複数の別名を持つことが許されております。forNameメソッドでは標準名と別名のどちらも使用することができます。例えば標準名「EUC-JP」の文字セットには「eucjis」「x-eucjp」「csEUCPkdFmtjapanese」「eucjp」「Extended_UNIX_Code_Packed_Format_for_Japanese」「x-euc-jp」「euc_jp」 といった別名が存在します。 forNameメソッドでどの名前を使用しても取得されるインスタンスは同等のものです。文字セットの名前を取得するには、以下のメソッドを使用します。

String name() - 文字セットの標準名を返します
Set aliases() - 文字セットの別名をすべて含むセットを返します

仮想マシンがどの文字セットをサポートしているかは実装依存ですが、以下の文字セットは必ずサポートしなければいけないことになっています。


  • US-ASCII
  • ISO-8859-1
  • UTF-8
  • UTF-16BE
  • UTF-16LE
  • UTF-16

コードページの一覧 技術資料 Pentan