PHP - 如何处理从HTTP POST接收的unicode,以便在HTML中显示它们

时间:2012-04-17 00:21:48

标签: php unicode

如何转换此类内容

  

\ XE6 \ xa6 \ X82 \ xe8 \ xa6 \ X81 \ n \ XE3 \ X83 \ XBB \ XE3 \ X82 \ XB0 \ XE3 \ X83 \的Xaa \ XE3 \ X83 \ XBC \ XE3 \ X81 \ XAE \ XE3 \ X82 \ xa8 \ XE3 \ X83 \ XB3 \ XE3 \ X82 \ XB8 \ XE3 \ X83 \ x8b \ XE3 \ X82 \ XA2 \ XE3 \ X81 \ XAB \ xe5 \ XBF \ x9c \ xe5 \ x8b \ x9f \ XE3 \ X81 \ X97 \ XE3 \ X81 \ xa6 \ XE3 \ X81 \ XBF \ XE3 \ X81 \ x9f \ XE3 \ X81 \ X84 \ XE3 \ X81 \ x8c \ XE3 \ X80 \ X81 \ xe5 \ XBF \ x9c \ xe5 \ x8b \ x9f \ xe5 \ X89 \ x8d \ XE3 \ X81 \ XAB \ xe8 \的x87 \的Xaa \ xe5 \ X88 \ 86 \ XE3 \ X81 \ XAE \ xe5 \ XAE \ x9f \ xe5 \ x8a \ x9b \ XE3 \ X82 \ X92 \ xe8 \ xa9 \ xa6 \ XE3 \ X81 \ X97 \ XE3 \ X81 \ xa6 \ XE3 \ X81 \ XBF \ XE3 \ X81 \ x9f \ XE3 \ X81 \ X84 \ XE3 \ X80 \ X82 \ n \ XE3 \ X83 \ XBB \ xe5 \ x9c \ XB0 \ XE6 \ X96 \ xb9 \ XE3 \ X81 \ XAB \ XE4 \ XBD \ X8F \ XE3 \ X82 \ X93 \ XE3 \ X81 \ XA7 \ XE3 \ X81 \ X84 \ XE3 \ X82 \ x8b \ XE3 \ X81 \ XAE \ XE3 \ X81 \ XA7 \ xe9 \ x9d \ XA2 \ XE6 \ x8e \ xa5 \ xe5 \ x9b \ x9e \ XE6 \ X95 \ XB0 \ XE3 \ X81 \ x8c \ xe5 \ XB0 \ X91 \ XE3 \ X81 \的Xaa \ XE3 \ X81 \ X84 \ XE6 \ X96 \ xb9 \ XE3 \ X81 \ x8c \ XE3 \ X81 \ X82 \ XE3 \ X82 \ x8a \ XE3 \ X81 \ x8c \ XE3 \ X81 \ x9f \ XE3 \ X81 \ X84 \ XE3 \ X80 \ X82 \ n \ XE3 \ X83 \ XBB \ xe9 \ x9d \ XA2 \ XE6 \ x8e \ xa5 \ XE3 \ X81 \ XAF \ xe8 \ x8b \ xa6 \ XE6 \ X89 \ x8b \ XE3 \ X81 \ XA0 \ XE3 \ X81 \ x8c \ XE3 \ X83 \ X97 \ XE3 \ X83 \ XAD \ XE3 \ X82 \ XB0 \ XE3 \ X83版权所有\ xA9 \ XE3 \ X83 \ x9f \ XE3 \ X83 \ XB3 \ XE3 \ X82 \ XB0 \ XE3 \ X81 \ XAB \ XE3 \ X8 1 \ XAF \ xe8 \的x87 \的Xaa \ XE4 \ XBF \ XA1 \ XE3 \ X81 \ x8c \ XE3 \ X81 \ X82 \ XE3 \ X82 \ x8b \ XE3 \ X80 \ X82 \ XE3 \ X81 \ XAF \ XE3 \ X80 \ X81 \ XE3 \ X81 \ X93 \ XE3 \ X81 \ XAE \ XE3 \ X82 \ X88 \ XE3 \ X81 \ 86 \ XE3 \ X81 \的Xaa \ XE6 \ X96 \ xb9 \ XE3 \ X80 \ X85 \ XE3 \ X81 \ XAE \ XE3 \ X81 \ X94 \ xe8 \ xa6 \ X81 \ XE6 \ x9c \ x9b \ XE3 \ X81 \ XAB \ XE3 \ X81 \ x8a \ xe5 \ XBF \ x9c \ XE3 \ X81 \ X88 \ XE3 \ X81 \ X99 \ XE3 \ X82 \ x8b \ XE3 \ X81 \ x9f \ XE3 \ X82 \ X81 \ XE3 \ X81 \ XAB \ XE4 \ XBD \ x9c \ XE3 \ X82 \ X89 \ XE3 \ X82 \ x8c \ XE3 \ X81 \ x9f \ XE6 \ X96 \ XB0 \ XE3 \ X81 \ X97 \ XE3 \ X81 \ X84 \ XE6 \ x8e \ XA1 \ XE7 \ X94 \ xa8 \ XE3 \ X83 \ X97 \ XE3 \ X83 \ XAD \ XE3 \ X82 \ XB0 \ XE3 \ X83版权所有\ xA9 \ XE3 \ X83 \ XA0 \ XE3 \ X81 \ XA7 \ XE3 \ X81 \ X99 \ XE3 \ X80 \ X82 \ n \ XE3 \ X83 \ X97 \ XE3 \ X83 \ XAD \ XE3 \ X82 \ XB0 \ XE3 \ X83版权所有\ xA9 \ XE3 \ X83 \ x9f \ XE3 \ X83 \ XB3 \ XE3 \ X82 \ XB0 \ XE3 \ X82 \ xb9 \ XE3 \ X82 \ XAD \ XE3 \ X83 \ XAB \ XE3 \ X82 \ X92 \ xe8版权所有\ xA9 \ X95 \ XE4 \ XBE \ XA1 \ XE3 \ X81 \ X99 \ XE3 \ X82 \ x8b \ XEF \ XBC \ X91 \ XE6 \ XAC \ XA1 \ xe9 \ x9d \ XA2 \ XE6 \ x8e \ xa5 \ XE3 \ X82 \ X92 \ XE3 \ X83 \ X91 \ XE3 \ X82 \ xb9 \ XE3 \ X81 \ XA7 \ XE3 \ X81 \ x8d \ XE3 \ X81 \ XBE \ XE3 \ X81 \ X99 \ XE3 \ X81 \ XAE \ XE3 \ X81 \ XA7 \ xe5 \ x8a \ xb9 \ XE7 \ x8e \的x87 \ XE7 \ x9a \ X84 \ XE3 \ X81 \的Xaa \ xe8 \ XBB \ XA2 \ xe8 \ X81 \ XB7 \ XE6 \ XB4 \ XBB \ xe5 \ x8b \ X95 \ XE3 \ X82 \ X92 \ xe8 \ XA1 \ x8c \ XE3 \ X81 \ XA3 \ XE3 \ X81 \ xa6 \ xe9 \ XA0 \ X82 \ XE3 \ X81 \ X91 \ XE3 \ X81 \ XBE \ XE3 \ X81 \ X99 \ XE3 \ X80 \ X82 \ n \ XE3 \ X82 \ X82 \ XE3 \ X81 \ XA1 \ XE3 \ X82 \ x8d \ XE3 \ X82 \ X93 \ xe5 \ XAD \ xa6 \ XE7 \ X94 \ x9f \ XE3 \ X81 \ XAE \ XE7 \ x9a \ 86 \ XE3 \ X81 \ X95 \ XE3 \ X82 \ X93 \ XE3 \ X81 \ XAE \ XE3 \ X83 \ X81 \ XE3 \ X83 \ XA3 \ XE3 \ X83 \ XAC \ XE3 \ X83 \ XB3 \ XE3 \ X82 \ XB8 \ XE3 \ X82 \ X82 \ XE3 \ X81 \ x8a \ xe5 \ XBE \ X85 \ XE3 \ X81 \ XA1 \ XE3 \ X81 \ X97 \ XE3 \ X81 \ xa6 \ XE3 \ X81 \ x8a \ XE3 \ X82 \ x8a \ XE3 \ X81 \ XBE \ XE3 \ X81 \ X99 \ XE3 \ X80 \ X82

我在HTTP POST中收到的,以便在HTML网页上正确显示它们。

我不知道我在看什么,但我想我可以转换成以☺格式显示的内容。

我如何在PHP中执行此操作

3 个答案:

答案 0 :(得分:1)

看起来像日本

php > echo "\xe6\xa6\x82\xe8\xa6\x81\n\xe3\x83\xbb\xe3\x82\xb0\xe3\x83\xaa\xe3\x83\xbc\xe3\x81\xae\xe3\x82\xa8\xe3\x83\xb3\xe3\x82\xb8\xe3\x83\x8b\xe3\x82\xa2\xe3\x81\xab\xe5\xbf\x9c\xe5\x8b\x9f\xe3\x81\x97\xe3\x81\xa6\xe3\x81\xbf\xe3\x81\x9f\xe3\x81\x84\xe3\x81\x8c\xe3\x80\x81\xe5\xbf\x9c\xe5\x8b\x9f\xe5\x89\x8d\xe3\x81\xab\xe8\x87\xaa\xe5\x88\x86\xe3\x81\xae\xe5\xae\x9f\xe5\x8a\x9b\xe3\x82\x92\xe8\xa9\xa6\xe3\x81\x97\xe3\x81\xa6\xe3\x81\xbf\xe3\x81\x9f\xe3\x81\x84\xe3\x80\x82\n\xe3\x83\xbb\xe5\x9c\xb0\xe6\x96\xb9\xe3\x81\xab\xe4\xbd\x8f\xe3\x82\x93\xe3\x81\xa7\xe3\x81\x84\xe3\x82\x8b\xe3\x81\xae\xe3\x81\xa7\xe9\x9d\xa2\xe6\x8e\xa5\xe5\x9b\x9e\xe6\x95\xb0\xe3\x81\x8c\xe5\xb0\x91\xe3\x81\xaa\xe3\x81\x84\xe6\x96\xb9\xe3\x81\x8c\xe3\x81\x82\xe3\x82\x8a\xe3\x81\x8c\xe3\x81\x9f\xe3\x81\x84\xe3\x80\x82\n\xe3\x83\xbb\xe9\x9d\xa2\xe6\x8e\xa5\xe3\x81\xaf\xe8\x8b\xa6\xe6\x89\x8b\xe3\x81\xa0\xe3\x81\x8c\xe3\x83\x97\xe3\x83\xad\xe3\x82\xb0\xe3\x83\xa9\xe3\x83\x9f\xe3\x83\xb3\xe3\x82\xb0\xe3\x81\xab\xe3\x81\xaf\xe8\x87\xaa\xe4\xbf\xa1\xe3\x81\x8c\xe3\x81\x82\xe3\x82\x8b\xe3\x80\x82\xe3\x81\xaf\xe3\x80\x81\xe3\x81\x93\xe3\x81\xae\xe3\x82\x88\xe3\x81\x86\xe3\x81\xaa\xe6\x96\xb9\xe3\x80\x85\xe3\x81\xae\xe3\x81\x94\xe8\xa6\x81\xe6\x9c\x9b\xe3\x81\xab\xe3\x81\x8a\xe5\xbf\x9c\xe3\x81\x88\xe3\x81\x99\xe3\x82\x8b\xe3\x81\x9f\xe3\x82\x81\xe3\x81\xab\xe4\xbd\x9c\xe3\x82\x89\xe3\x82\x8c\xe3\x81\x9f\xe6\x96\xb0\xe3\x81\x97\xe3\x81\x84\xe6\x8e\xa1\xe7\x94\xa8\xe3\x83\x97\xe3\x83\xad\xe3\x82\xb0\xe3\x83\xa9\xe3\x83\xa0\xe3\x81\xa7\xe3\x81\x99\xe3\x80\x82\n\xe3\x83\x97\xe3\x83\xad\xe3\x82\xb0\xe3\x83\xa9\xe3\x83\x9f\xe3\x83\xb3\xe3\x82\xb0\xe3\x82\xb9\xe3\x82\xad\xe3\x83\xab\xe3\x82\x92\xe8\xa9\x95\xe4\xbe\xa1\xe3\x81\x99\xe3\x82\x8b\xef\xbc\x91\xe6\xac\xa1\xe9\x9d\xa2\xe6\x8e\xa5\xe3\x82\x92\xe3\x83\x91\xe3\x82\xb9\xe3\x81\xa7\xe3\x81\x8d\xe3\x81\xbe\xe3\x81\x99\xe3\x81\xae\xe3\x81\xa7\xe5\x8a\xb9\xe7\x8e\x87\xe7\x9a\x84\xe3\x81\xaa\xe8\xbb\xa2\xe8\x81\xb7\xe6\xb4\xbb\xe5\x8b\x95\xe3\x82\x92\xe8\xa1\x8c\xe3\x81\xa3\xe3\x81\xa6\xe9\xa0\x82\xe3\x81\x91\xe3\x81\xbe\xe3\x81\x99\xe3\x80\x82\n\xe3\x82\x82\xe3\x81\xa1\xe3\x82\x8d\xe3\x82\x93\xe5\xad\xa6\xe7\x94\x9f\xe3\x81\xae\xe7\x9a\x86\xe3\x81\x95\xe3\x82\x93\xe3\x81\xae\xe3\x83\x81\xe3\x83\xa3\xe3\x83\xac\xe3\x83\xb3\xe3\x82\xb8\xe3\x82\x82\xe3\x81\x8a\xe5\xbe\x85\xe3\x81\xa1\xe3\x81\x97\xe3\x81\xa6\xe3\x81\x8a\xe3\x82\x8a\xe3\x81\xbe\xe3\x81\x99\xe3\x80\x82";
概要
・グリーのエンジニアに応募してみたいが、応募前に自分の実力を試してみたい。
・地方に住んでいるので面接回数が少ない方がありがたい。
・面接は苦手だがプログラミングには自信がある。は、このような方々のご要望にお応えするために作られた新しい採用プログラムです。
プログラミングスキルを評価する1次面接をパスできますので効率的な転職活動を行って頂けます。
もちろん学生の皆さんのチャレンジもお待ちしております。

谷歌翻译

  

概要    - 但我想申请高兴的工程师,想在申请前尝试自己的实力。   次数越少,因为他们欣赏农村地区的采访。   •编程有信心,但不是很好的面试。是否制定了新的采用计划以满足此类人群的需求。   您可以使用Tenshoku高效的活动,这样您就可以通过下一次面试来评估编程。   我们期待课程学生的挑战

也许我错了;)

答案 1 :(得分:1)

如果使用HTTP响应发送适当的字符集编码,则无需对数据执行任何操作,浏览器应正确解码为日文文本。

示例:

<?php

header('Content-Type: text/html; charset=UTF-8');
$var = "\xe6\xa6\x82\xe8\xa6\x81\n\xe3\x83\xbb\xe3\x82\xb0\xe3\x83\xaa\xe3\x83\xbc\xe3\x81\xae\xe3\x82\xa8\xe3\x83\xb3\xe3\x82\xb8\xe3\x83\x8b\xe3\x82\xa2\xe3\x81\xab\xe5\xbf\x9c\xe5\x8b\x9f\xe3\x81\x97\xe3\x81\xa6\xe3\x81\xbf\xe3\x81\x9f\xe3\x81\x84\xe3\x81\x8c\xe3\x80\x81\xe5\xbf\x9c\xe5\x8b\x9f\xe5\x89\x8d\xe3\x81\xab\xe8\x87\xaa\xe5\x88\x86\xe3\x81\xae\xe5\xae\x9f\xe5\x8a\x9b\xe3\x82\x92\xe8\xa9\xa6\xe3\x81\x97\xe3\x81\xa6\xe3\x81\xbf\xe3\x81\x9f\xe3\x81\x84\xe3\x80\x82\n\xe3\x83\xbb\xe5\x9c\xb0\xe6\x96\xb9\xe3\x81\xab\xe4\xbd\x8f\xe3\x82\x93\xe3\x81\xa7\xe3\x81\x84\xe3\x82\x8b\xe3\x81\xae\xe3\x81\xa7\xe9\x9d\xa2\xe6\x8e\xa5\xe5\x9b\x9e\xe6\x95\xb0\xe3\x81\x8c\xe5\xb0\x91\xe3\x81\xaa\xe3\x81\x84\xe6\x96\xb9\xe3\x81\x8c\xe3\x81\x82\xe3\x82\x8a\xe3\x81\x8c\xe3\x81\x9f\xe3\x81\x84\xe3\x80\x82\n\xe3\x83\xbb\xe9\x9d\xa2\xe6\x8e\xa5\xe3\x81\xaf\xe8\x8b\xa6\xe6\x89\x8b\xe3\x81\xa0\xe3\x81\x8c\xe3\x83\x97\xe3\x83\xad\xe3\x82\xb0\xe3\x83\xa9\xe3\x83\x9f\xe3\x83\xb3\xe3\x82\xb0\xe3\x81\xab\xe3\x81\xaf\xe8\x87\xaa\xe4\xbf\xa1\xe3\x81\x8c\xe3\x81\x82\xe3\x82\x8b\xe3\x80\x82\xe3\x81\xaf\xe3\x80\x81\xe3\x81\x93\xe3\x81\xae\xe3\x82\x88\xe3\x81\x86\xe3\x81\xaa\xe6\x96\xb9\xe3\x80\x85\xe3\x81\xae\xe3\x81\x94\xe8\xa6\x81\xe6\x9c\x9b\xe3\x81\xab\xe3\x81\x8a\xe5\xbf\x9c\xe3\x81\x88\xe3\x81\x99\xe3\x82\x8b\xe3\x81\x9f\xe3\x82\x81\xe3\x81\xab\xe4\xbd\x9c\xe3\x82\x89\xe3\x82\x8c\xe3\x81\x9f\xe6\x96\xb0\xe3\x81\x97\xe3\x81\x84\xe6\x8e\xa1\xe7\x94\xa8\xe3\x83\x97\xe3\x83\xad\xe3\x82\xb0\xe3\x83\xa9\xe3\x83\xa0\xe3\x81\xa7\xe3\x81\x99\xe3\x80\x82\n\xe3\x83\x97\xe3\x83\xad\xe3\x82\xb0\xe3\x83\xa9\xe3\x83\x9f\xe3\x83\xb3\xe3\x82\xb0\xe3\x82\xb9\xe3\x82\xad\xe3\x83\xab\xe3\x82\x92\xe8\xa9\x95\xe4\xbe\xa1\xe3\x81\x99\xe3\x82\x8b\xef\xbc\x91\xe6\xac\xa1\xe9\x9d\xa2\xe6\x8e\xa5\xe3\x82\x92\xe3\x83\x91\xe3\x82\xb9\xe3\x81\xa7\xe3\x81\x8d\xe3\x81\xbe\xe3\x81\x99\xe3\x81\xae\xe3\x81\xa7\xe5\x8a\xb9\xe7\x8e\x87\xe7\x9a\x84\xe3\x81\xaa\xe8\xbb\xa2\xe8\x81\xb7\xe6\xb4\xbb\xe5\x8b\x95\xe3\x82\x92\xe8\xa1\x8c\xe3\x81\xa3\xe3\x81\xa6\xe9\xa0\x82\xe3\x81\x91\xe3\x81\xbe\xe3\x81\x99\xe3\x80\x82\n\xe3\x82\x82\xe3\x81\xa1\xe3\x82\x8d\xe3\x82\x93\xe5\xad\xa6\xe7\x94\x9f\xe3\x81\xae\xe7\x9a\x86\xe3\x81\x95\xe3\x82\x93\xe3\x81\xae\xe3\x83\x81\xe3\x83\xa3\xe3\x83\xac\xe3\x83\xb3\xe3\x82\xb8\xe3\x82\x82\xe3\x81\x8a\xe5\xbe\x85\xe3\x81\xa1\xe3\x81\x97\xe3\x81\xa6\xe3\x81\x8a\xe3\x82\x8a\xe3\x81\xbe\xe3\x81\x99\xe3\x80\x82";

echo $var;

由于我们发送一个标题,说明字符编码是UTF-8,因此浏览器知道如此解码它。您还可以使用元标记来指定字符集。如果浏览器设置为自动检测代码,则不需要任何选项,但您不能依赖它。

答案 2 :(得分:-1)

我实际上没有真正的线索,为什么你把它作为POST,但我认为

\x82

(等)代表十六进制数。要转换整个字符串(确保它是那种格式):

$string = eval('return "' . $thatExactInputAsGiven . '";');

$string现在包含此提交所代表的字节序列。但是我不能告诉你它在哪个编码,但是上面的这一行可能会帮助你进行测试。

如果你害怕评估,请注意错误处理:

$string = implode('', array_map(function($v){
    $r = sscanf($v, '\x%x', $ord);
    if (!$r) throw new Exception('Invalid input.');
    return chr($ord);
}, str_split($thatExactInputAsGiven, 4)));