version 6.8.1
MSG_Charset (decodeHeaders; bodyCharset) --> 整数
引数 | Type | 説明 | |
decodeHeaders | 整数 | --> | -1 = 現在の設定を使用, 0 = 管理しない, |
1 = ISO-8859-1 または ISO-2022-JPの場合、 | |||
Mac OS文字セットを使用して変換 | |||
拡張文字をデコード | |||
bodyCharset | 整数 | --> | -1 = 現在の設定を使用, 0 = 管理しない, |
1 = ISO-8859-1 または ISO-2022-JPの場合、 | |||
Mac OS文字セットを使用して変換 | |||
拡張文字をデコード | |||
戻り値 | 整数 | エラーコード |
説明
MSG_Charset コマンドを使用して、MSGコマンドによる拡張文字を含むメッセージ処理を自動化できます。このコマンドを使用しないか0を指定した場合、4D Internet Commandsはバージョン6.5.xと同様に動作します。
MSG_Charset はまず、拡張文字ヘッダのデコードに関する設定を行い、次にメッセージボディとヘッダの文字セット変換を行うかどうかの設定を行います。
このコマンドは特に"Subject"やメールアドレスなどのヘッダに拡張文字が含まれるメッセージのサポートに有用です (例えば“=?ISO-8859-1?Q?Test=E9?= <test@n.net >”のようなメールアドレス)。
decodeHeaders 引数はMSG_FindHeader実行中にヘッダのデコードと変換をどのように行うかを指定します。デフォルトで0に設定されています。
・-1: 現在の設定を使用
・0: 管理しない
・1: 必要に応じてヘッダをデコードする。デコードが行われ、かつ文字セットがISO-8859-1またはISO-2022-JPである場合、ヘッダはMac OS ASCIIコードまたはShift-JISを使用して変換されます。
bodyCharset 引数はMSG_GetBody 実行中にボディの変換をどのように行うかを指定します。デフォルトで0に設定されています。
・-1: 現在の設定を使用
・0: 管理しない
・1: “Body-Content-Type”文字セットがISO-8859-1またはISO-2022-JPに設定されていれば、メッセージボディはMac OS ASCIIコードまたはShift-JISを使用して変換されます。
互換性メモ (バージョン 6.8.1): MSG_Charset コマンドが使用されずPOP3_Charset コマンドが使用されていた場合、MSG_FindHeaderとMSG_GetBodyコマンドはPOP3_Charsetの設定を考慮します。MSG_Charsetが使用されていた場合、POP3_Charsetの設定は無視されます。
例題
1. 4D Internet Commands 6.5.xの場合:
$Err:=MSG_FindHeader($msgfile;"From";$from) $from:=ISO to Mac($from) $Err:=MSG_FindHeader($msgfile;"To";$to) $to:=ISO to Mac($to) $Err:=MSG_FindHeader($msgfile;"Cc";$cc) $cc:=ISO to Mac($cc) $Err:=MSG_FindHeader($msgfile;"Subject";$subject) $subject:=ISO to Mac($subject) $Err:=MSG_MessageSize($msgfile;$HdrSize;$BdySize;$msgSize) $Err:=MSG_GetBody($msgfile;0;$BdySize;$BodyContent) $BodyContent:=ISO to Mac($BodyContent)
2. 4D Internet Commands 6.8.1以降の場合:
$Err:=MSG_Charset(1;1) $Err:=MSG_FindHeader($msgfile;"From";$from) $Err:=MSG_FindHeader($msgfile;"To";$to) $Err:=MSG_FindHeader($msgfile;"Cc";$cc) $Err:=MSG_FindHeader($msgfile;"Subject";$subject) $Err:=MSG_MessageSize($msgfile;$HdrSize;$BdySize;$msgSize) $Err:=MSG_GetBody($msgfile;0;$BdySize;$BodyContent).
参照