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回まで
  • 登録:
  • 終了:2011/07/17 23:56:35
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:HowAreYou No.2

回答回数91ベストアンサー獲得回数17

ポイント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

回答回数429ベストアンサー獲得回数49

ポイント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

回答回数91ベストアンサー獲得回数17ここでベストアンサー

ポイント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

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

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

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

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

回答リクエストを送信したユーザーはいません