[PHP-users 27474] mb_encode_mimeheader でエンコードしたものが、mb_decode_mimeheader でうまくデコードされない

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

[PHP-users 27474] mb_encode_mimeheader でエンコードしたものが、mb_decode_mimeheader でうまくデコードされない

inahou
木下ともうします。

mb_encode_mimeheader でエンコードしたものが、mb_decode_mimeheader でうまくデコードされません。
以下のサンプルをJISで保存して、実行しています。
<?php
header("Content-Type: text/html;charset=iso-2022-jp");
echo 'あ'; //正しく表示される。
assert('=?ISO-2022-JP?B?GyRCJCIbKEI=?=' == mb_encode_mimeheader('あ', 'ISO-2022-JP') ); //エラーは起きない。
assert('あ' == mb_decode_mimeheader( '=?ISO-2022-JP?B?GyRCJCIbKEI=?=' ) ); //エラー発生
echo mb_decode_mimeheader( mb_encode_mimeheader('あ', 'ISO-2022-JP') ); // ? と表示される。od -x してみると、3f になっている
?>

CentOS4.2 付属のPHP4.3.9
と、xampp Windows版 付属のphp4.4.0で試しましたが、同じ結果(0x3f に化けている)でした。

これは、バグなのでしょうか。何かphp.iniに設定が必要なのでしょうか。


--------------------------------------
Know more about Breast Cancer
http://pr.mail.yahoo.co.jp/pinkribbon/

_______________________________________________
PHP-users mailing list  [hidden email]
http://ns1.php.gr.jp/mailman/listinfo/php-users
PHP初心者のためのページ - 質問する前にはこちらをお読みください
http://www.php.gr.jp/php/novice.php3
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

[PHP-users 27476] Re: mb_encode_mimeheader でエンコードしたものが、mb_decode_mimeheader でうまくデコードされない

KISE Hiroshi
From: "inahou" <[hidden email]>
Subject: [PHP-users 27474] mb_encode_mimeheader でエンコードしたものが、mb_decode_mimeheader でうまくデコードされない
Date: Fri, 11 Nov 2005 15:00:30 -0800
> mb_encode_mimeheader でエンコードしたものが、mb_decode_mimeheader でうまくデコードされません。
> 以下のサンプルをJISで保存して、実行しています。

JIS(ISO-2022-JP)で保存して…というのが、そもそもどうかと
思うのですが。

・スクリプトをEUC-JPにして、
・mb_internal_encoding('EUC-JP'); を入れ、
・必要なところでmb_convert_encodingでISO-2022-JPに変換して
みてはいかがでしょう。
--
喜瀬“冬猫”浩
_______________________________________________
PHP-users mailing list  [hidden email]
http://ns1.php.gr.jp/mailman/listinfo/php-users
PHP初心者のためのページ - 質問する前にはこちらをお読みください
http://www.php.gr.jp/php/novice.php3
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

[PHP-users 27492] Re: mb_encode_mimeheader でエンコードしたものが、mb_decode_mimeheader でうまくデコードされない

inahou
喜瀬さん ヘルプありがとうございました。
ずーっとこの辺で困っていたので、とても助かりました。

> JIS(ISO-2022-JP)で保存して…というのが、そもそもどうかと
> 思うのですが。

デフォルトでは、EUC-JPとUTF-8のみがサポートされているんですね。

> ・スクリプトをEUC-JPにして、
> ・mb_internal_encoding('EUC-JP'); を入れ、
> ・必要なところでmb_convert_encodingでISO-2022-JPに変換して
> みてはいかがでしょう。

以下のソースをEUCで保存したところ、概ね意図したとおりに動作しました。

<?php
header("Content-Type: text/html;charset=iso-2022-jp");
mb_internal_encoding('EUC-JP');
echo mb_convert_encoding( mb_decode_mimeheader( '=?ISO-2022-JP?B?GyRCJCIbKEI=?=' ), 'JIS', 'EUC-JP' );
?>


--------------------------------------
Know more about Breast Cancer
http://pr.mail.yahoo.co.jp/pinkribbon/

_______________________________________________
PHP-users mailing list  [hidden email]
http://ns1.php.gr.jp/mailman/listinfo/php-users
PHP初心者のためのページ - 質問する前にはこちらをお読みください
http://www.php.gr.jp/php/novice.php3
Loading...