Проблема с загрузкой файлов на веб-сервер

Если имя файла содержит турецкие символы (ş, ı, ü, ü, ö, ğ), файл не загружается на веб-сервер. Загрузка на веб-сервер осуществляется на странице php. Там нет никаких проблем. Он загружает имена файлов, которые не содержат турецких символов (английские буквы). Как мне решить эту проблему?

    private String uploadFile()
{
String responseString = null;

HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost(Config.FILE_UPLOAD_URL);
try
{
AndroidMultiPartEntity entity = new AndroidMultiPartEntity(new ProgressListener() {
@Override
public void transferred(long num) {
publishProgress((int) ((num / (float) totalSize) * 100));
} });

File kaynakDosya = new File(filePath);

entity.addPart("dosya", new FileBody(kaynakDosya));
entity.addPart("islem", new StringBody(GlobalVeri.IslemFotoVideoDosya));

totalSize = entity.getContentLength();
httppost.setEntity(entity);

HttpResponse response = httpclient.execute(httppost);
HttpEntity r_entity = response.getEntity();

int statusCode = response.getStatusLine().getStatusCode();
if (statusCode == 200) {
responseString = EntityUtils.toString(r_entity);
} else {
responseString = "Bir hata oluştu! Http Durum Kodu: " + statusCode;
}
}
catch (ClientProtocolException e) {
responseString = e.toString();
}
catch (IOException e) {
responseString = e.toString();
}
return responseString;
}

0

Решение

Я полагаю, вам не хватает кодировки UTF-8. Как StringBodyпоместите текст, который вы передаете, как первый аргумент с этими специальными символами, и убедитесь, что вы говорите, что это utf-8 во втором аргументе. замещать

entity.addPart("islem", new StringBody(GlobalVeri.IslemFotoVideoDosya));

с

entity.addPart("islem", new StringBody(GlobalVeri.IslemFotoVideoDosya, Charset.forName(HTTP.UTF_8))));
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]