• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エラーの意味がわかりません。)

エラーの意味がわかりません。

このQ&Aのポイント
  • phpを利用して携帯メールの内容をデコードしようと試みていますが、Gmailで送った内容は受信できますが、携帯から送ったメールが「=?SHIFT_JIS?B?◯◯=?= 」という文字になってしまいます。
  • 受信媒体はGmailで、送信媒体はソフトバンクのiPhoneです。Shift_JISで出力しようとした場合、携帯からのメールは解析されません。
  • Shift_JISを利用したい場合、携帯の文字コードがUTF-8ではない可能性があります。「=?SHIFT_JIS?B?◯◯=?= 」というエラーの意味を調べても情報が得られず、解析の原因が特定できません。どなたかこのエラーの意味を知っている方がいれば教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4852/10267)
回答No.1

別にエラーでは無いです。なぜエラーだと思ったのですか? 携帯がそういう文字列にエンコードして送っているのでしょう。下記の手順でデコードしてください。 1つめと2つめの?の間の文字 SHIFT_JIS が、文字のエンコーディング名 2つめと3つめの?の間の文字 B が、base64エンコーディング しているということ 3つめと4つめの?の間の文字列が、実際のデータです。これをbase64デコードすると、Shift_JISの文字列になります。

wed6mineU9
質問者

お礼

たしかにエラーではないですね・・ はじめて出た文字列で、予想外の表示をしたのでエラーだと思い込んだみたいです・・! notnotさんの「base64をデコード」というアドバイスから、なんとかもとの文字列を表示することができました!! ずっと謎だった「=?SHIFT_JIS?B?◯◯=?=」の説明もとてもわかりやすく、すぐにコードを書くことができました! 本当にありがとうございます!!!

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • デコードに困っています。

    エンコードされた文字をrawurldecodeでデコードしたいのですが、Shift_JISやEUC、UTF-8によってデコードされる形が異なります。 METAでShift_JISを指定してればShift_JISでエンコードされた値もデコードすればしっかりと表示されます。しかしUTF-8など異なるタイプではMETAがShift_JISなのでしっかりと表示されません。どうすればすべてのタイプに対応させることが可能なのでしょうか?

    • 締切済み
    • PHP
  • フォームメールを受信すると文字化けをします。

    携帯サイトにCGIフォーム(CGIの文字コードは全てshift_jis)を設置しています。 iMacや、iPatや、ThanderBirdで、受信をすると、すべて、文字化けします。 Macで、POPを返さない方が文字化けをしないと聞いたので、受信アドレスをgmailアドレスに変えましたら、Mac系では、文字化けがなくなりました。 が、同時に、普通のメールアドレスを設置し、ThanderBirdで受信をしましたら、やはり文字化けをします。 ThanderBirdのエンコード設定は、ISO-2022-JP となっていて、少し調べましたら 「インターネットでは7bitの文字コードでやりとりするのが標準なので、日本語の場合は7bitの「JIS(ISO-2022-JP)」という文字コードを使うよう定められている。Shift-JISやEUCは8bitの文字コードなので、送信の際、メールソフトがこれをJISに変換するのが普通だ。」とのこと。 半角カタカナなどは、含まれていないのですが、やはり、フォームメールを受け取りますと、文字化けをしてしまいます。 届いたメールは、タイトルは正しく表記され、中身が、文字化け。 メールのエンコードをShift-JISに変換すると、逆に、タイトルが文字化けし、本文(中身)が、正しく表記されます。 OUTLOOKなどWindowsの仕様のものを試していないのですが、 何かを修正すると、文字化けせずに、閲覧できるのか、もし、方法があれば、おおしえいただければと思いました。 使っていますCGIフォームは http://www.kurohama.net/c5.shtml 今は、Shift-JISですが、UTF-8に変換はできるようです。 どうぞ よろしくお願いいたします。

    • 締切済み
    • CGI
  • 簡単なメールフォーム niftyサーバ側のエラーページが文字化け

    niftyをつかっていまして、かんたんなCGIで、知識がなくともメール送信フォームが作成できるというものを作りました。 ところが、その送信フォーム。メールアドレスを入力しないまま送信するとエラーページが表示されるのですが、このエラーページがときどき文字化けします。 FireFoxでは文字化けはしません。文字化けするのはIE7を使っていて、そのIE7でエンコーディングを自動選択にしていないときだけのようです。(safariでもデフォルト設定で文字化けしました) ちなみに、送信フォームは自分でhtmlを用意しますけれども、 エラーページはニフティ側が用意するもので、エンコードの指定等はありません。ユーザーがhtmlを変更することができません。 そのメールデコードのくわしい設定はこれ http://www.nifty.com/biz/support/manual/web/08/02.htm 表示されるエラーページはこれです http://mdec.nifty.com/mdec-error7.htm ねんのため、エラーページのソースはこんなのです。文字コードがないのが悪いのですが、サーバが用意しているものなのでこちらでは変更できません。 <HTML> <HEAD> <TITLE>エラーメッセージ</TITLE> </HEAD> <BODY BGCOLOR="#ffffff" LINK="#ff6600" ALINK="#ff0000" VLINK="#330066" TEXT="#000033"> <CENTER> <BR><BR><hr size="3" width="500"> <CENTER> <BR><b>エラーメッセージ</b><br><br><FONT SIZE="4"><B>メールアドレスが記入されていないか形式が不正です。</B></font> <BR><BR><b><FONT SIZE=2>ブラウザの戻るボタンで戻ってください。</FONT></b> </CENTER> <BR><BR><BR><hr size="3" width="500"> </BODY> </HTML> このページの文字化け、shift-JISにすると解決します。だから自分が用意する送信フォームのHTMLをshift-JISにしましたが、shift-JISの送信フォームからエラーページに移動しても、IE7でやはり文字化けします。 (エンコーディングは、その前に表示したページの影響をうけるらしいです。理論の上では、送信フォームがshift-JISなら、エラーページに文字コー度がなくても自動的にshift-JISで表示されて文字化けが発生しないだろう、と思ったのですが、ダメでした) IE7で、エンコードの指定のないページを表示するときに文字化けしない方法を教えてください。 ただし、IE7の設定やエンコーディングを変更しないでできる方法がいいです。(webサイトをみてくれる他人のPCの設定は、わたしが指示や変更するべきものではないという考え方です) そのうえ、表示させるhtml(エラーページ)にも変更を加えないで出来る方法を探しています。 知恵をおかしください。

  • SmartyでのShift-JIS使用

    現在、携帯サイトの構築を行っています。 EUC-JPならば問題なく表示されるのですが携帯電話はShift-JISをサポート。 一応、EUC-JPも表示はされますがサポート外である事実は変わりません。 そこで、表示に関してはShift-JISで行いと考えています。 (全ての携帯がEUC-JPでも問題なく表示できる確証がない限り表示はShift-JISを考えています。) しかし、今度はSmartyがShift-JISがサポート外。 普通にShift-JISを使うと文字化けを起こしたりエラーが表示されます。 PHPもShift-JIS、SmartyのテンプレートもShift-JISにすれば とりあえずはPHPからの表示する文字に関してはShift-JIS表示できますが Smartyテンプレートに直接書いた文字は文字化けを起こします。 自分なりに調べて http://blog.livedoor.jp/alpha1280/archives/50225918.html http://www.knym.net/wiki/index.php?PHP%2FSmarty のサイトを見つけて記事内に書いてあるPHPを利用してみました。 Smarty_Extends.phpをSmarty.class.phpと同じフォルダに作成して テンプレートをShift-JISで作成、プレフィルタとポストフィルタのコメントを外して Smarty_Extendsを利用して表示するPHPを作成↓ <?php include_once('Smarty_Extends.php'); $smarty = new Smarty_Extends('templates','templates_c'); $smarty->assign("test", "Shift-JISによる表示だよ。必須"); $smarty->display("Enc_Shift-JIS.tpl"); ?> エラーは出なかったんですが従来通り文字化け、何度もテストしているんですが判りません。 SmartyでShift-JIS表示の経験がある方、上記の問題点や解決作の判る方。 お力を頂ければ幸いです、宜しくお願い致しますm(_ _)m

    • ベストアンサー
    • PHP
  • エンコード指定でコンパイルエラー

    以下のソースで、UnsupportedEncodingExceptionと、 コンパイルエラーが発生します。 byte[] sjisBytes; // 適当なバイト列を入れる String string = new String(sjisBytes, "Shift_JIS"); // エラー String s; // 適当な文字列を入れる byte[] b = s.getBytes( "Shift_JIS" ); // エラー サポートされている他のエンコーディング(UTF-8など)を入れても、 同じエラーになります。 原因がわかる方いらっしゃいますでしょうか?

    • ベストアンサー
    • Java
  • モバイル端末の文字コードについて

    javaで作成した携帯のページがあり、htmlの<a>タグにクエリを使い値をjavaファイルに渡しているんですが、エンコードをしても文字化けしてしまいます。 UTF-8、SHIFT-JISでエンコードとデコードを試してみたのですが、SHIFT-JISではカタカナが文字化けしてしまい、UTF-8では全ての文字が文字化けしてしまいます。 フレームワークの仕様の都合上、クエリで渡すのが一番ベストの方法なので、なんとかクエリで文字化けせず渡したいのですが、どうにか良い策はないでしょうか?

    • ベストアンサー
    • Java
  • 【C#】StreamReaderクラスのエンコード

    こんばんは。 .NetFramework1.1のStreamReaderクラスを使用して、csvファイルを読み込んでいるのですが、 エンコードでShift_JISを指定しても、"€"などの環境依存文字がそのまま取得されてしまいます。 Shift_JISに存在しない文字は文字化けして取得されるものだと思っていましたが、違うのでしょうか? DBの文字コードがShift_JISなのでこのままDBへ渡すとエラーになってしまい困っています。 ご教授下さい。宜しくお願いします。 -- ソース ---------------------------------------------- StreamReader sr = new StreamReader(path,Encoding.GetEncoding("Shift_JIS")); string str = sr.ReadLine();

  • htaccessでの文字コード設定について

    現在[PHP4 + MySql4.0.17]を利用したWebシステムを構築しています。 携帯での閲覧にも対応するため、携帯ページの文字コードをShift_JISにしたいと思っているのですが、MySqlのデータ文字コードはEUC-JPのため、ページ表示の際に文字化けしてしまいます。 現在、携帯用ページのトップディレクトリのhtaccessにて以下の設定を記述していますが、表示される文字コードはEUC-JPのままです。 ------------------------------------------------ AddDefaultCharset SHIFT_JIS php_value mbstring.http_input "auto" php_value mbstring.http_output "SHIFT_JIS" php_value mbstring.internal_encoding "SHIFT_JIS" ------------------------------------------------- もし上記の設定に間違いなどがあれば、ご指摘いただけないでしょうか。 宜しくお願い致します。

    • ベストアンサー
    • PHP
  • 文字コードに関して

    自分は、今までHTMLとPHPを利用してサイトの構築をしてきました。 shift-jisでしか記述した事が有りませんが、文字化けの問題もなく今までやってこれました。 今回は、mySQLを利用してサイト(PC及び携帯)の構築を試みております。 その際に不安な点が幾つか有ります。 HTMLとPHPは今後もshift-jisで問題ないのでしょうか? その際、mySQLの文字コードもshift-jisにした方が良いのでしょうか? 下記の関係での推奨文字コードをアドバイス願います。 皆さんが開発者だったら、コレで書くのがベストと思えるパターンと理由も教えていただければ参考にさせていただきますので宜しくお願いします。 mySQL > PHP > HTML

    • 締切済み
    • PHP
  • 文字操作をしたjisコードをシフトjisに変えたい

    携帯メールをCGIで受け取って処理するスクリプトを書いているのですが 文字コードの処理について行き詰っています。 $str = " $B$F$9$H (B"; #jisコードで"てすと" として、この文字列をjcode.pmでシフトjisに変換したいのですが $body = Jcode::convert($str, 'sjis'); このようにしても$bodyの中身は" $B$F$9$H (B"のまま変わりません。 MIME::parserでうけとったjisコードの文字列はちゃんと変換されるのでjcode.pmに問題はないと思われますが、 文字列操作をして変数に入れるとMIME::parserで受け取った場合とおなじ内容でもデコードされないとゆう結果になります。 なにか根本的に違うのでしょうか… スペースを省いてみたり $body = Jcode::convert($str, 'sjis','jis'); としてみたりしたのですが まったくダメでした。 ちょっとしたアドバイスだけでもいいのでよろしくお願いします。 あとお金がかかってもよいので、そういった問題を解決できそうなサイトなどがあれば紹介していただければと思います。 よろしくお願いします。m(__)m

専門家に質問してみよう