java - Android 如何将带有重音符号的文本发送到 PHP

标签 java android diacritics

我的应用程序出现问题,当我尝试向我的 apache 服务器发送包含 má mé mí mó mú 等字符的文本时,它发送的字符为 m?。我该如何解决这个问题?

这是我的代码:

public boolean loginstatus(String reporte, String user) {
            File file = new File(fileUri.getPath());
            try {
                  MultipartEntityBuilder entity = MultipartEntityBuilder.create();
                  Log.e("enviando", "archivo "+fileUri.getPath());
                  Log.e("enviando", "reporte "+reporte);
                  Log.e("enviando", "usuario "+user);
                  entity.setMode(HttpMultipartMode.BROWSER_COMPATIBLE);
                  entity.addTextBody("reporte", reporte);
                  entity.addTextBody("usuarioID",user);
                  if (file.length() <= 0){
                  }else{
                  entity.addPart("archivo", new FileBody(file));
                  }
                  final HttpEntity yourEntity = entity.build();
                  httppost.setEntity(yourEntity);
                  HttpResponse response = httpclient.execute(httppost);
                } catch (ClientProtocolException e) {
                     e.printStackTrace();
                } catch (IOException e) {
                     e.printStackTrace();
                }
            return true;

        }

最佳答案

首先,这里的问题是你的编码。 数据库的表未编码为使用 UTF-8,或者您发送的字符串不是。

表格问题:

您可以在数据库表上使用CHARACTER SET utf8

字符串问题: 解决这个问题的优雅方法是使用

StringEntity实体 = new StringEntity(Yourtext, "UTF-8");

另一种方法是使用 String 的 getBytes("UTF-8") 函数并使用 DataOutputStream

关于java - Android 如何将带有重音符号的文本发送到 PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20005437/

相关文章:

Java POI使用Maven资源过滤器时出现InvalidOperationException

JavaFX 覆盖和揭示按钮字段中的按钮文本

使用数组的 php preg_replace - 具有重音字符的第一个或最后一个字母不起作用

c# - 如何检测文本的字符集?

c# - 如何在不删除变音符号的情况下使用变音符号对列表进行排序

java - 直接缓冲存储器

java - 如何检查是否已在 Java 中创建/调用对象? ( eclipse 集成开发环境)

android - 将函数传递到全局 AsyncTask Android

没有 ActionBar 的 Android 选项菜单?

android - 如何在安卓浏览器中播放直播视频?