PHP-从android发送POST请求会将表情变成问号

PHP-从android发送POST请求会将表情变成问号,php,android,post,utf-8,emoji,Php,Android,Post,Utf 8,Emoji,我有一个这样做的程序: Java中的Android应用程序接收输入(在本例中为emojis,UTF8) 此字符串通过POST发送到PHP脚本 PHP将所有表情符号转换为问号(?) 使用Android Logcat,我可以看出java并没有破坏它,它肯定是PHP PHP的配置是正确的,因为当我在没有post请求的情况下运行一个测试网页时,它只是回显一些表情(完全相同的表情),它工作得很好我认为最好的解决方案是在PHP中使用表情。它为您处理所有转换。在以下位置获取副本: http://code.

我有一个这样做的程序:

  • Java中的Android应用程序接收输入(在本例中为emojis,UTF8)

  • 此字符串通过POST发送到PHP脚本

  • PHP将所有表情符号转换为问号(?)

使用Android Logcat,我可以看出java并没有破坏它,它肯定是PHP


PHP的配置是正确的,因为当我在没有post请求的情况下运行一个测试网页时,它只是回显一些表情(完全相同的表情),它工作得很好

我认为最好的解决方案是在PHP中使用表情。它为您处理所有转换。在以下位置获取副本:

http://code.iamcal.com/php/emoji/
下面是一个代码示例:

<?php
    include('emoji.php');


    # browser sniffing tells us that a docomo phone
    # submitted this text

    $clean_text = emoji_docomo_to_unified($_POST[message]);


    ...


    # now we want to show it in a desktop browser

    $html = emoji_unified_to_html($clean_text);
?>

我们将android与php服务器连接起来。然后,我们使用HTTPClient发送和检索数据。HTTPPost指定我们的请求方法是post。响应存储在HTTPResponse中。”URL'是存在JSON的实际链接

然后我们使用inputstream将数据转换成字节。我们需要将字节流转换为字符流。之后,我们在StringBuilder的帮助下从以下位置构建字符串:


您在哪里查看看起来像问号的输出?可能是完整的UTF-8代码仍然在那里,但是您用来查看数据的任何东西都没有显示UTF-8字符。@DigitalChris Im使用eclipse logcat查看POST请求的结果(用于测试目的)。当Im使用Log.d()查看表情时,logcat确实会正确显示表情,因此它不是查看器,而是PHPI使用此线程上的解决方案解决了这个问题