日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

关于HttpClient上传中文乱码的解决办法

發布時間:2023/11/27 生活经验 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 关于HttpClient上传中文乱码的解决办法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

使用過HttpClient的人都知道可以通過addTextBody方法來添加要上傳的文本信息,但是,如果要上傳中文的話,或還有中文名稱的文件會出現亂碼的問題,解決辦法其實很簡單:

第一步:設置MultipartEntityBuilder的編碼方式為UTF-8。

builder.setCharset(Charset.forName(HTTP.UTF_8));//設置請求的編碼格式 

第二步:創建ContentType對象,指定UTF-8編碼。

ContentType contentType= ContentType.create(HTTP.PLAIN_TEXT_TYPE, HTTP.UTF_8); 

第三步:使用addPart+?StringBody代替addTextBody。如:

StringBody stringBody=new StringBody("中文亂碼",contentType);
builder.addPart("test",stringBody);

附上完整代碼:

ContentType contentType = ContentType.create(HTTP.PLAIN_TEXT_TYPE, HTTP.UTF_8);      
HttpClient client=new DefaultHttpClient();// 開啟一個客戶端 HTTP 請求 
HttpPost post = new HttpPost(url);//創建 HTTP POST 請求  
MultipartEntityBuilder builder = MultipartEntityBuilder.create();
builder.setCharset(Charset.forName(HTTP.UTF_8));//設置請求的編碼格式
builder.setMode(HttpMultipartMode.BROWSER_COMPATIBLE);//設置瀏覽器兼容模式
int count=0;
for (File file:files) {
//            FileBody fileBody = new FileBody(file);//把文件轉換成流對象FileBody
//            builder.addPart("file"+count, fileBody);builder.addBinaryBody("file"+count, file);count++;
}        
builder.addTextBody("method", params.get("method"));//設置請求參數
builder.addTextBody("fileTypes", params.get("fileTypes"));//設置請求參數
StringBody stringBody=new StringBody("中文亂碼",contentType);
builder.addPart("test", stringBody);
HttpEntity entity = builder.build();// 生成 HTTP POST 實體      
post.setEntity(entity);//設置請求參數
HttpResponse response = client.execute(post);// 發起請求 并返回請求的響應
if (response.getStatusLine().getStatusCode()==200) {return true;
}
return false;

【原文地址】

轉載于:https://www.cnblogs.com/liaojie970/p/9389901.html

總結

以上是生活随笔為你收集整理的关于HttpClient上传中文乱码的解决办法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。