Dukeatcoding で言及されている akelos フレームワークからの特定のメソッドを次に示します。
/**
* RFC 2231 Implementation
*/
public function _decodeHeaderAttribute($header_attribute, $charset = '')
{
if(preg_match("/^([A-Z0-9\-]+)(\'[A-Z\-]{2,5}\')?/i",$header_attribute,$match)){
$charset = $match[1];
$header_attribute = urldecode(str_replace(array('_','='),array('%20','%'), substr($header_attribute,strlen($match[0]))));
}
return Ak::recode($header_attribute, 'UTF-8', $charset);
}
彼らがどのようにそれを行うかを見て、それを使用して独自のデコード関数を作成してください;)
PS akelos フレームワークは LGLP ライセンスを使用していると思います。そのため、自分のプロジェクトでその方法をそのまま使用する場合は注意してください。