PHPで、shift-jisのコード文字列


\'81\'79\'90\'6c\'97\'cd\'8c\'9f\'8d\'f5\'82\'cd\'82\'c4\'82\'c8\'81\'7a

を、文字列

【人力検索はてな】

というUTF-8の文字列に変換する方法を教えてください。

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2011/07/17 22:38:14
  • 終了:2011/07/17 23:56:35

ベストアンサー

id:HowAreYou No.2

HowAreYou回答回数91ベストアンサー獲得回数172011/07/17 23:22:20

ポイント50pt

こんな感じ?

<?php
$str = "\'81\'79\'90\'6c\'97\'cd\'8c\'9f\'8d\'f5\'82\'cd\'82\'c4\'82\'c8\'81\'7a
" ;
$str2 = urldecode(str_replace("\'", '%', $str)) ;
$str2 = mb_convert_encoding($str2, 'utf8', 'sjis') ;
echo $str2 ;
id:lionfan

ありがとうございます。シンプルでわかりやすいです。無事解決いたしました。

2011/07/17 23:57:10

その他の回答(1件)

id:km1981 No.1

km1981回答回数429ベストアンサー獲得回数492011/07/17 23:08:33

ポイント70pt

下のようになります

質問のテキストは二重引用符で囲めばいいものか分からなかったので

もし間違っていたら言ってください

----------------------------------------------------

function mychr($ar) {

$n = hexdec($ar[1]);

return ($n != 0) ? chr($n) : '';

}

$ss = "\\'81\\'79\\'90\\'6c\\'97\\'cd\\'8c\\'9f\\'8d\\'f5\\'82\\'cd\\'82\\'c4\\'82\\'c8\\'81\\'7a";

print $ss . "\n";

$s = preg_replace_callback("/\\\'([0-9a-f]+)/ui", mychr, $ss);

$s = mb_convert_encoding($s, 'UTF-8', 'SJIS');

print $s;

?>

id:lionfan

了解です。ありがとうございます!! おかげさまで動きました!!

2011/07/17 23:57:37
id:HowAreYou No.2

HowAreYou回答回数91ベストアンサー獲得回数172011/07/17 23:22:20ここでベストアンサー

ポイント50pt

こんな感じ?

<?php
$str = "\'81\'79\'90\'6c\'97\'cd\'8c\'9f\'8d\'f5\'82\'cd\'82\'c4\'82\'c8\'81\'7a
" ;
$str2 = urldecode(str_replace("\'", '%', $str)) ;
$str2 = mb_convert_encoding($str2, 'utf8', 'sjis') ;
echo $str2 ;
id:lionfan

ありがとうございます。シンプルでわかりやすいです。無事解決いたしました。

2011/07/17 23:57:10

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません