重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

通常、例えば「モーニング娘。」をエンコードすると、

%83%82%81%5B%83j%83%93%83O%96%BA%81B

になります。
ところが、

%E3%83%A2%E3%83%BC%E3%83%8B%E3%83%B3%E3%82%B0%E5%A8%98%E3%80%82

にエンコードしなくてはいけない状況が出てきました。
上記をデコードすると「繝「繝シ繝九Φ繧ー螽倥・默」になります。
私には意味不明です。
これってどうやるか、分かる方はいらっしゃいますでしょうか。
トンチンカンな質問でしたら申し訳ないです。m(_ _)m

A 回答 (3件)

文字コードを合わせれば良いです。


上のエンコードはShift-JISです。
下のエンコードはUTF-8です。

ですのでエンコード対象の文字列を
UTF-8に文字コード変換してエンコードすれば
お望みの結果が出てきます。

>上記をデコードすると
>「繝「繝シ繝九Φ繧ー螽倥・默」になります。
これは多分無理やりShift-JISの表示環境で
UTF-8の文字を表示してしまったからでしょう。

文字コード変換はPerlなら
jcode.pmを使うもよし
自前で変換するのもよし(ただし要巨大な変換テーブル)
お好きにどうぞ。
    • good
    • 0
この回答へのお礼

勉強になりました。
ありがとうございました。

お礼日時:2002/07/11 14:33

%E3%83%A2 モ


%E3%83%BC ー
%E3%83%8B ニ
%E3%83%B3 ン
%E3%82%B0 グ
%E5%A8%98 娘
%E3%80%82 。

ですかね。3バイトずつの区切りだし、unicode でしょうか。
    • good
    • 0

UTF-8 にエンコード


ってことでいいんでしょうかね?

> %E3%83%A2%E3%83%BC%E3%83%8B%E3%83%B3%E3%82%B0%E5%A8%98%E3%80%82
> にエンコードしなくてはいけない状況が出てきました。
> これってどうやるか、分かる方はいらっしゃいますでしょうか。

エンコードしたらそうなるんじゃないでしょうか。。?

多分、やりたいことをもっと詳しく書いたら
的確な説明が返って来ると思いますよ。

ご自分では意味が分かってるかも知れないんですが、
何したいのか周りに伝わってませんよ。。(^-^;;

この回答への補足

すいません。
現状は下記の命令でエンコードしています。
$val =~ s/(\W)/sprintf("%%%02X", ord($1))/eg;

どういう命令にすればいいのかな、という質問です。
これで分かりますかね?
基礎知識が無いもので質問の仕方も良く分からず、申し訳ないです。

補足日時:2002/07/10 23:33
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!