PlayStation SuiteのフォーラムやTwitterで見かけて気になっていた文字コードにSJIS(Shift-JIS)など日本語環境でよく出て来る文字コード使えないという話を自分でも試してみました。
結果はダメ。コードページの数字で指定しても、文字列で指定もエラー(CP932で指定してもダメ)となりました。
ソースコードを辿ってみるとUnicode近辺とASCIIくらいしか対応してないみたいですね。
if (codepage == 1200) { return Encoding.Unicode; } if (codepage == 1201) { return Encoding.BigEndianUnicode; } if (codepage == 12000) { return Encoding.UTF32; } if (codepage == 12001) { return Encoding.BigEndianUTF32; } if (codepage == 65000) { return Encoding.UTF7; } if (codepage == 65001) { return Encoding.UTF8; } if (codepage == 0) { return Encoding.Default; } if (codepage == 20127) { return Encoding.ASCII; } if (codepage == 28591) { return Encoding.ISOLatin1; }
念のためこんなコードでもテストしてみましたがやはりSJISなどは対応してないみたいでした。
foreach (System.Text.EncodingInfo s in System.Text.Encoding.GetEncodings()) { try { Console.WriteLine(s.Name); }catch { } }
【結果】
utf-16 unicodeFFFE utf-32 utf-32BE us-ascii iso-8859-1 utf-7 utf-8
これはブラウザ的なものを作る人は文字コード変換部分は自前で準備しないと行けないみたいですね。