• 締切済み

文字コード変換のproxyを作りたい!

海外で海外の携帯電話を使っています。ノキアです。 日本語フォントが入っており、日本語の表示がある程度出来ますが、 ネット接続での文字コードはどうやらユニコード(UTF-8)にしか対応していないようで、 S-JISやEUCだと文字化けしてしまいます。 以下のページのような文字コード変換のproxyサイトを使わせて頂いています。 このサイトは、S-JISやEUCで書かれたサイトをUTF-8に変換してくれます。 http://nao.s58.xrea.com/x/clawz http://nao.s58.xrea.com/x/clawz/2utf8.php しかし、しょっちゅうダウンしたり、変換されなかったり、遅かったりします。 そこで、自分でも同じPHPを書きたいと思っていますが、どうしたものかさっぱりです。 簡単なのか、難しいのか、どういう動きなのか・・ そこで、作り方、もしくはアドバイスをいただけませんでしょうか。 使っているサーバーは、ロリポップで、PHPが使えます。 動きは上記サイトのように、リンク先もこのスクリプトで接続できるようにしたいです。 例;ヤフーへのリンクの場合・・ <a href="http://www.yahoo.co.jp">Yahoo!</a> ↓ <a href="http://nao.s58.xrea.com/x/clawz/2utf8.php?url=http://www.yahoo.co.jp">Yahoo!</a> よろしくお願いいたします。

  • cnkozo
  • お礼率39% (158/402)
  • PHP
  • 回答数1
  • ありがとう数3

みんなの回答

  • Rasyuki
  • ベストアンサー率57% (19/33)
回答No.1

文字コードの変換 mb_convert_encoding() リンク先の置き換え preg_replace()

cnkozo
質問者

お礼

ありがとうございました。 ヒント・・ですね。 OperaMiniを使うことで解決しました。

関連するQ&A

  • PHPの文字コード変換について

    PHPで mb_convert_encodingを用いて UTF-8で記述されたPHPスクリプトファイルの PHPファイル内の任意の文字列の文字コードを変換する場合、 $value = "文字列"; $str = mb_convert_encoding($value ,"UTF8","UTF8"); print $str; この場合、特に問題なく、変換がおこなわれます というか、意味のないで処理ではありますが。 次に $str = mb_convert_encoding($value,"EUC-JP","EUC-JP"); とした場合 うまく文字列の文字コードの変換がおこなわれず 出力内容は文字化けします。 次に $str = mb_convert_encoding($value,"SJIS","SJIS"); とした場合 EUC-JPと同じく文字コード変換に失敗し 文字化けするだろうとおもいましたが おもいのほかブラウザの文字コードUTF-8のままで文字化けしていないのです。 これはどういう現象でしょうか? たとえば一つ目は UTF8で記述されたPHPファイルの文字列をそのままUTF-8として 変換されせるのですから、問題ないはずです。結果問題ありません。 二つ目は UTF-8でかかれたPHPファイルの文字列をEUC-JPでかかれたファイルとして EUC-JPという文字コードに変換しなさいという命令ですよね? これは思う通りにいかなくて文字化けした文字列が出力されるのはわかるのですが 三つ目はUTF8で記述された文字列をSHIFT-JISとしてSHIFT-JISに変換しようとしているにも かかわらず、結果問題なくブラウザのUTF-8で文字列と表示されてしまいます。 これはいったいどういう事なのでしょうか? これが仮に $str = mb_convert_encoding($value,"SJIS","UTF-8"); なら話は簡単んです。 UTF-8で記述されたファイルの任意の文字列を UTF8からSJISに変換しようとしているのですから問題なく SHIFT-JISでエンコーディングされた文字列が帰ってくるはずです。 こ乃原因をご存知のかたよろしくご教授ください。 お願い致します。

    • ベストアンサー
    • PHP
  • 中国語が文字コード変換で、一部文字化けする。

    PHPとMySQLで中国語のサイトを作っているのですが、データベースから読み出した文字列が、GB2312に変換後一部の文字だけ「?」になってしまいます。 このサイトでは中国語以外に、既に日英のサイトがあってそれらは、 日:WEB = SJIS / DB = EUC 英 : WEB = UTF-8 / DB = EUC 中 : WEB = GB2312 / DB = EUC という構成になっています。 ちなみに管理者画面では、日、英、中、全てのコンテンツを編集できるようになっていて、文字コードは、shift-jisにしてあります。 ですので、中国語のコンテンツを書き出すときは、 管理者画面:shift-jis ↓ PHP処理:EUCに変換 ↓ DB:EUCで登録 ↓ DB:EUC ↓ PHP処理:GB2312に変換 ↓ HTMLに書き出し という流れになっています。 中国語のサイトを作られている方は少ないと思いますが、分かる範囲でアドバイスをいただければと思います。よろしくお願い致します。

    • ベストアンサー
    • PHP
  • 文字コードの混在しているファイルの変換

    webのログを取っているのですが, URLデコード -> nkf -s としています.しかし,URLデコードしたファイルは,google等はutf-8で他はs-jis等で,文字コード(s-jis, euc, utf-8)が混在しているファイルとなってしまいます. 最終的な出力ファイルをs-jisに統一したいと思っています.nkfで行おうとしたところ,どうもうまくいきません.-Xs オプションをつけるとutf-8の部分がちゃんと表示されません.-Wsオプションをつけると今度はs-jis,eucが出力されません. なにかうまい方法はありませんか?

  • phpでの文字コード変換について

    phpでの既存ソース解析を行っている者ですが 文字コードに苦戦しております。 関数でEBCDICからASCII・ASCIIからEBCDICの変換と EUCからJIS8・JIS8からEUCの変換を行っているのですが mb_convert_encoding("XXX","XXX","XXX")では ダメなのでしょうか?? 文字コード自体の理解が浅いのが原因でもありますが どなたか参考URL等ありましたら教えてください。 (一応大体のサイトは拝見しましたが・・・)

  • Perlの文字コード

    1-2年ほど前、Perl5.8でソース自体をUTF8N(LF)で記述するようになり、 以下のように書いていました。 use utf8; use encoding "utf8"; use Encoding; それからPHPに移り、PHPでは、ソースはEUC-JP、DBもEUC、HTMLに出力する際もEUC-JPで統一していました。 最近またperlを使い出して疑問に思ったのですが、 perlではどのような文字コードで統一すれば一番よいのかということです。 javascriptはUTFだと動作しない端末(ザウルス)などあり、 perlもEUC-JPで統一しようと考えています。 昔、UTF8にこだわったのは、おそらく 「構」という文字は5Cなので、 文字コードによる不具合(ソース,js,cssで)を避けるためと、流行のUTF8にしたと思います。 perlでEUC-JPで文字コード統一させるメリットデメリットが知りたいです。 最近perlで書かれたサイトでHTML出力がShift_JISだったのですが、perlソースもシフトJISかは知りませんが、Shift_JISで統一するデメリットが知りたいです。 あと、WEBでどの文字コードが現在主流で、今後どうなるかも知りたいです。 EUC-JPで安泰なら、話は早いですが・・・

    • ベストアンサー
    • Perl
  • 文字コードの変換について

    いつもありがとうございます。 PHPで文字コードを変換してページのURLを作りたいのですが、どうしても出来なかったので質問させてください。 2chの検索結果のURLを作りたいです。 例えば、「声優」と検索すうるとURLが以下になるんですが、 http://find.2ch.net/?STR=%90%BA%97D&TYPE=TITLE&x=0&y=0&BBS=ALL&ENCODING=SJIS&COUNT=50 この「%90%BA%97D」をどうやって作っていいのかわかりません。 2chはEUC-JPで書いていて、私のサイトはUTF-8なので、 <?php $keyword="声優"; echo $url='http://find.2ch.net/?STR='.mb_convert_encoding($keyword,"EUC-JP","UTF-8").'&TYPE=TITLE&x=0&y=0&BBS=ALL&ENCODING=SJIS&COUNT=50'; ?> としたのですが、駄目でした わかる方居ましたら、ご教授お願いします。

    • ベストアンサー
    • PHP
  • 文字コードの変換

    今、C言語の勉強をしているのですが、 EUC-JPの文字コードのファイルを読み込んでUTF-8の文字コードのファイルに変換したい場合はどうすればいいのでしょうか? それか、ファイルに書き込む時に文字コードをEUCーJPからUTFー8に変換して出力する方法でもいいです。 調べ足りないのかもしれませんが色々調べてもよくわかりませんでした。 よろしくお願いします。

  • 文字コードの変換について

    現在、表示はPHPで文字コードはEUCで表示しています。 そのときには表示できるのですが、 表示したものを、SHIFT-JISにエンコードしてエクセルに表示するときに、文字コードの違いにより表示されないものがあります。 エンコードは $str = mb_convert_encoding($str, "SJIS", "auto"); と行っています。 EUCからSJISに変換するときに、何か特別なことを行う必要があるのでしょうか??

    • ベストアンサー
    • PHP
  • EXCELからCSVを作るときに文字コード変換

    sys-jisで作成したEXCELからCSVを作るときに文字コードをutf-8またはeuc-jpに自動変換できるようにすることは可能でしょうか。 あわせて、データが入っているセルには、””が自動で入れることは可能でしょうか。 その場合の方法について教えていただけないでしょうか。 よろしくお願いいたします。

  • 文字コードについて

    現在、PHP(EUC-JP)でプログラムを作成し、テンプレートはS-JISで表示しています。 テンプレートには下記のようにリンク先をはっています。 <a href="REPLACE">NAME</a> REPLACEとNAMEはPHP側で作成した値を置き換えています。 NAMEはmb_convert_encodingでEUC-JPをS-JISに変更していますが、リンク先には日本語の文字が含まれています。 私が、考えたものは次に遷移したいPHP以下をエンコードし、それをmb_convert_encodingするというものです。 $url="test.php?ID=".$stData[$i]['id'].&gStationName=".$stData[$i]['name']; $url_encode=urlencode($url); $all_data['test'] = mb_convert_encoding($url_encode, "SJIS", "EUC-JP"); このリンク先にカーソルをあてると、日本語はアラビア文字みたいなのが、表示されます。 しかし、このリンクをクリックすると、エンコードされたURLが表示されます。 なぜ、このような現象が起こるのでしょうか? ご教授ください。

    • ベストアンサー
    • PHP

専門家に質問してみよう