D言語でCGI / 日本語表示(Shift_JIS)


Shift_JISは日本語文字コードで最も多く使われている文字コードの1つです。日本語文字コードはShift_JISにしか対応していないブラウザが存在します。

D言語でShift_JISを表示するには、一工夫する必要があります。そのままコードに埋め込むこともできることはできますが、エスケープシーケンスを含んだ文字が現れたりするとコンパイルエラーになってしまいます。

ここでは、DJcodeライブラリを使って、内部処理はUTF-8、外部出力はShift_JISをする例を紹介します。

ソース

//sjis.d
import jcode;
void main()
{
    char[] html = `<html>
<body>
Shift_JIS日本語表示
</body>
</html>`;
    html = utf8_sjis(html);
    printf("content-type: text/html;\n\n%.*s",html);
}
  • 文字コードはUTF-8で保存してください。
  • コンパイルは dmd sjis.d jcode.d としてください。

ファイル

&ref(): File not found: "sjis.zip" at page "D言語でCGI/日本語表示(Shift_JIS)";

実行例

http://p38.aaacafe.ne.jp/~sakurai/cgi-bin/sjis.cgi

*MenuBar

人気の10件

  • counter: 3604
  • today: 1
  • yesterday: 0
  • online: 1