質問: 下記のサイトをもとにgmailの本文の情報を取得したのですが、本文がbase64エンコードされたものとなっています。 phpのbase64_decodeを使用したのですが出力の結果で日本語が文字化けしてしまします。 http://qiita.com/ryurock/items/4b063372ede81780c3c8 下記のサイトのようなものであれば正常に変換できているのですが、phpのbase64には何か文字コードの扱いがあるのでしょうか? http://kjur.github.io/jsjws/tool_b64udec.html phpの文字変換だけではできないのか、何か設定ややり方ががおかしいのかご教授願いたいです。 取得後の情報は下記です var_dump(base64_decode("54u444Gv5Y2B44KP44GL44Gj44K744Ot44Gu44KI44GG44Gr6LiP44KT44Gm6KGM44Gj44G-44GX44CC44K044O844K344Ol44KC44K744Ot5bCC6ZaA44Go44GT44KM44Gr44Gy44GE44Gm44GE44Gf44CC44G_44G_44Ga44GP44Gv55y844GM44GE44GN44Gq44KK44Gr5LqR44GE44Gm55y844KS44GL44Gj44GT44GG44Gu44KI44GG44KS5by-44GN44Gm44OJ44Os44Of44OV44Kh44GL44KJ44GC44GR44Gm44Go44GG44Go44GG44KG44GG44G544GL44KJ56yR44GE44Go6KGM44GN44Gf44CC44Gw44Gf44Gw44Gf44KE44Gj44Go6ZW35qSF5a2Q44KS6Laz44Gr44Gq44KK44Gf44Gf44CC44GK44G-44GI44GZ44GQ44Gr44K044O844K344Ol44Gr44Gw44Gj44Gm5pmp44Gr44Gu44KT44Gn44GX44Gq44GE44CCDQrilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIENCuKWoOOBqOOBqOOCiuOBn-OBnw0K4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSBDQrnn6XjgonjgarjgILjgZ3jgozjga_jgZ3jgozjgbjjgb7jgo_jgorjgYzpo5vjgbPjgabjgbDjgYvjgorjgZfmrKHjgoLluoPjgY_jga7jgarjgYTjgabjgarjgYLjgILjgI3jgYrjgozjga_nlJ_mhI_msJfjgZ3jgYbjgajjgZfjgabjgojjgrTjg7zjgrfjg6Xlj6PjgYzokL3jgaHjgovjgZ_jgorjgZ_poZTjga7liqnjgZHjgbjjgZPjgo3jgYzjgaPjgYzjgYLjgaPjgZ_jgorjgajjgorjgabjgYTjgovjgarjgonjgILnlZHjga_jgZfjgabjgobjgYbjgbnjgbjopovjgafjgZfjgZ_jgIINCg0K4oCm4oCm4oCm4oCm4oCm4oCm4oCm4oCm4oCm4oCmDQpIT01FDQpodHRwOi8vd3d3LnlhaG9vLmNvLmpwLw0K" ));![イメージ説明](https://teratail.storage.googleapis.com/uploads/contributed_images/c82b6fd27f75a7172c5a9fc1a6cfe95a.png)
回答: (回答が間違っていたので全面修正しました) ここで使われているのはオリジナルのBASE64符号化ではなく「BASE64URL符号化」という変型版のようです (RFC 4648, §5)。 BASE64URLでは、BASE64の「`+`」「`/`」の代わりに「`-`」、「`_`」を使います。 ですので、これらの文字をオリジナルのものに置換してからbase64_decode()で変換すれば、正しくデコードできます。