日本語の文字コードについて

このQ&Aのポイント
  • 日本語の文字コードに詳しい方への質問です。webザテレビジョンでキーワード検索をする際、日本語のキーワードを入力すると文字化けが起こり検索ができません。UTF-8NをSJISで表示し、コピペしてURLを作成しているためだと思われますが、この問題を回避する方法を知りたいです。
  • 日本語の文字コードについて詳しい方に質問です。webザテレビジョンでキーワード検索をする際、日本語のキーワードの文字化け問題に直面しています。UTF-8NをSJISで表示させ、それをコピーしてURLに使用しているためだと考えられますが、この問題を解決する方法を教えていただけませんか?
  • webザテレビジョンでのキーワード検索で日本語の文字コードに関する問題に直面しています。UTF-8NをSJISで表示させてキーワードを作成しているため、文字化けが起こってしまいます。この問題を回避する方法を教えていただけませんか?
回答を見る
  • ベストアンサー

日本語の文字コードについて

日本語の文字コードの扱いに詳しいかた教えてください。 私は『webザテレビジョン』というホームページでキーワード検索をすることが多いのですが、 お決まりのキーワードを毎回手入力 (若しくはコピペ) するのが面倒な為に、以下のような ショートカットのURLを書いてお気に入りに登録してあります。 http://www.television.co.jp/programlist/search.php?s_text=(ここにキーワード入力)&type=tv これで、お気に入りをクリックするだけで検索結果が表示されるようになったのは良いのですが 問題もまだ残っておりまして、キーワードが日本語の場合その文字コードが『UTF-8N』でないと ダメなようです。 今、テキストエディタにて仮に『榮倉奈々』と入力してそれを『UTF-8N』で保存し、そのファイル を『SJIS』モードで開いた時の文字列(文字化けが怖いので記載は省略します)をキーワードの欄に 入力して検索しようとすると『々』という文字が文字化けしてしまって、検索が出来ません。 他にも『子』という文字も問題でして、『子』を使う場合には『子□』(□は全角ブランクの意) としてキーワード作成しないと文字化けしてしまいます。 『UTF-8N』を強引に『SJIS』で表示させて、しかもそれをコピペしてURLを書いていることが 問題だとは思うのですけれども、この問題を上手に回避出来る方法をご存知の方がいらっしゃい ましたら教えて戴きたいと思います。

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

  • ベストアンサー
回答No.1

>『UTF-8N』を強引に ~ 問題だとは思うのですけれども です。むしろそれでできていることに感心しました。 これを使うとよいでしょう。 http://www.tagindex.com/tool/url.html そもそも、URL欄に日本語の文字を入力した場合、その文字が直接送信されるのではなくブラウザによってその場で「URLエンコード」が行われその結果が送信されます。 このURLエンコードは文字コードによって結果が異なりますがどうやらブラウザが行うと常にShift_JISでエンコードしてしまうようです。 なので、自力でUTF-8でURLエンコードした文字列を貼りつけてやればよいのです。上記は文字コードを選択してURLエンコードを行うものです。 UTF-8でエンコードした結果を使って「榮倉奈々」を正常に検索できることを確認しました。

kaduno
質問者

お礼

ありがとうございます。 勉強不足でエンコード結果の『%○○』がSJISだけに対応していると思っていました これでクリック一発で検索が出来ます♪

関連するQ&A

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

    いつもありがとうございます。 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
  • wordpressの2.5にて文字コードを変更する方法

    wordpressの2.5の日本語版を本日インストールしてみたのですが、表示設定から文字コードをsjisに変更すると管理画面から文字化けしてしまいます。 多分、ものすごく基本的なことでつまずいているのだと思います・・・。 ちなみに、推奨はutf-8であることは十分理解しているのですが、古いサイトのコードにあわせたいという理由で変更しようとしています。 utf-8からsjisに変更する方法を教えてください。(検索しても仕方が悪いのか中々うまくいきませんのでよろしくお願いいたします)

  • 「丒」の字がterapadのUTF8Nで文字化け

    「丒」の字がterapadのUTF8Nで文字化けします。ですが、秀丸のUTF8では文字化けしません。 下記のURL、「wikiのバイト順マークの使用について」を参照すると http://ja.wikipedia.org/wiki/UTF-8 UTF8NとUTF8はバイト順マークを付加する違いがあると説明がありますが、表現できる文字の種類も異なるのでしょうか? また、「丒」の字はSJISでサポートされていないようですが、WEB検索するとexcelではSJISで文字を扱っていると書かれていましたが、「丒」の字は入力し、保存してもちゃんと表示されます。なぜなのでしょうか?回答よろしくお願いします。

  • 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
  • 複数のテキストの文字コード変更

    私は今、Linuxで簡単なプログラムを作りHPに載せたいと考えています。 そして実際に載せて見たのですが、日本語入力したところがどうしても文字化けしてしまいます。 そして、文字化けの原因が文字コードにあるとわかりutf-8からsjisに変換したところ、文字化けしないようになりました。 日に20数個ものプログラムを作り、アップロードするので1つ1つ文字コードを変更している状態です。 しかし、現状ではとても大変なので、スクリプトを作り、複数のファイルの文字コードを変更したいと考えているのですが、どのようにすればいいのでしょうか? どなたか教えていただけませんか?

  • excelの文字コードは?

    excelの文字コードはSJISが使われているのでしょうか? 検索してみるとSJISだと、掲示板あたりに書いてあった気がするのですが、SJISでサポートしていない字が、文字化けする事無く、ちゃんと表示されています。excelの文字コードは何を使っているのですか?気になるので回答よろしくお願いします。

  • 文字コード変換

    PHP4.4を使っています。 プログラム中の文字列変数値「標の鷹」から、 http://xxx.cgi?prm=%95W%82%CC%91%E9 という文字列(リンク)を生成したいのですが、 http://xxx.cgi?prm=�W�̑� のようになってしまいます。 ソースは以下の通りです。 $img_url = "http://xxx.cgi?prm=".$row[0]; mb_detect_order("ASCII, JIS, UTF-8, eucJP-win, EUC-JP, SJIS-win, SJIS"); $enc = mb_detect_encoding($row[0]); // この時点で$row[0]=「標の鷹」 if ( ($enc != "ASCII") && ($enc != "JIS") && ($enc != "UTF-8") && ($enc != "eucJP-win") && ($enc != "EUC-JP") && ($enc != "SJIS-win") && ($enc != "SJIS") ) {   echo "未知の文字コードが入力されました。<br />\n";   exit; } $url = mb_convert_encoding($url,"SJIS",$enc); echo "url = ".$img_url."; ※ちなみに、このコードが書いてあるphpファイルはutf8です。

    • ベストアンサー
    • PHP
  • urlencodeでエンコードされる文字コードが変わる

    内容が同じSJISとUTF-8のソースを実行すると、それぞれurlencodeでエンコードされる文字コードが変わってしまい困っています。 SJISでもUTF-8と同じようにエンコードをしてパラメタをサーバーに渡したいです。 例: 「株」というキーワードでエンコードすると SJISの場合:%8A%94 UTF-8の場合:%E6%A0%AA urldedodeの結果はどちらとも「株」となる。 php.iniのmbstringを一通りいじってみましたがうまくいきません。 どなかた詳しい方ご教授頂ければと思います。

    • ベストアンサー
    • PHP
  • 文字コードってUTF-8が主流に?

    文字コードについては、UTF-8が主流になりつつあるってネットで観ました。 文字コードを検索すると次のような説明があります。 (UTF-8のエンコード) UTF-8は、UnicodeとASCIIコードを混在させるための規格です。 (シフトJISコード) シフトJISコードは、SJISとも呼び、Microsoft社が決めたコードでWindows95やMS-DOSやMacなどで使用されています。 その上で質問です。 1、 UTF-8が主流になるってことは、Windows、MacがUTF-8に方向転換するってことでしょうか? 2、 仮にUTF-8が主流になっても、サイトに <META http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> と記述していれば文字化けなく表示されるのでしょうか? 今の時点では判断できない質問なのでしょうか・・

  • 文字コード変換

    送信元のページがShift_JISの場合は正常に動作するのですが、 UTF-8等の場合は文字化けしてしまいます。 &jcode'convert(*val, 'sjis'); ↑のものを use Encode; Encode::from_to( $val, "UTF8", "Shift_JIS", Encode::XMLCREF ); このように書いたところ、UTF-8も文字化けしないのですが、 コードを自動的に認識して自動で振り分けさせる方法がわかりません。 サーバーのPerlのバージョンは5.8.6です。よろしくお願いいたします。

    • ベストアンサー
    • Perl