(PukiWiki の)http_request 関数で、POST 時のcharset について

メッセージ

cvs:lib/proxy.php (1.9) より抜粋

	if (strtoupper($method) == 'POST') {
		// 'application/x-www-form-urlencoded', especially for TrackBack ping
		$POST = array();
		foreach ($post as $name=>$val) $POST[] = $name . '=' . urlencode($val);
		$data = join('&', $POST);

		if (preg_match('/^[a-zA-Z0-9_-]+$/', $content_charset)) {
			// Legacy but simple
			$query .= 'Content-Type: application/x-www-form-urlencoded' . "\r\n";
		} else {
			// With charset (NOTE: Some implementation may hate this)
			$query .= 'Content-Type: application/x-www-form-urlencoded' .
				'; charset=' . strtolower($content_charset) . "\r\n";
		}

この部分のpreg_match 関数では、$content_charset 変数が、EUC-JP やUTF-8 などの英数文字のみで構成されている場合にはcharset が出力されず、空文字であったり英数文字以外(マルチバイト文字など)が使われているときにcharset が出力されるようになっています。

条件が逆のような気がするのですが、気のせいでしょうか? 作り直す という話題がある今となっては、遅すぎる提案かもしれませんが。



トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2008-09-13 (土) 16:50:41
Site admin: PukiWiki Development Team

PukiWiki 1.5.4+ © 2001-2022 PukiWiki Development Team. Powered by PHP 8.2.12. HTML convert time: 0.222 sec.

SourceForge