Tips

Webサーバで異なる文字セットのページを送信

日付2011/09/07
ID11-007
バージョンv12
プラットフォームWindows, Mac

同じWebサーバから、異なる文字セットのページを送信したいという要求があるかもしれません。通常はUTF-8で送信、しかしあるページだけShift JISで送信したいというような時には、SEND HTML BLOBコマンドを使います。

例えば次のメソッドは、Shift JISでhtmlページを送信します。

C_TEXT($html_str)
$html_str:="<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">"+Char(Line feed)
$html_str:=$html_str+"<html xmlns=\"http://www.w3.org/1999/xhtml\" lang=\"ja\" xml:lang=\"ja\">"+Char(Line feed)
$html_str:=$html_str+"<head>"+Char(Line feed)
$html_str:=$html_str+"<meta http-equiv=\"Content-Type\" content=\"text/html; charset=shift_jis\" />"+Char(Line feed)
$html_str:=$html_str+"</head>"+Char(Line feed)
$html_str:=$html_str+"<body>"+Char(Line feed)
$html_str:=$html_str+"<h1>ようこそ</h1>"+Char(Line feed)
$html_str:=$html_str+"</body>"+Char(Line feed)
$html_str:=$html_str+"</html>"+Char(Line feed)
CONVERT FROM TEXT($html_str;"Shift_JIS";$html_blob)

C_TEXT($http_header)
$http_header:="Content-Type:text/html; charset=Shift_JIS"
SET HTTP HEADER($http_header)
SEND HTML BLOB($html_blob;"")  //第2引数を空で渡すのがポイント