Retrofit 中文引數亂碼問題

2021-09-28 11:55:08 字數 691 閱讀 6059

**中文使用者名稱登入,結果出錯,網上的結論說是

或是然鵝這會使你統一的請求引數攔截失效,具體原因上述鏈結裡有,就是

contenttypeoverridingrequestbody 替換了你的 formbody

所以你新增統一的請求引數就沒啦

那這個 charset=utf-8 在哪加上去呢?前面的mediatype是private static final的我們也不能改

formbody類的原始碼裡找到了這句

public static final class builder

public builder(charset charset) …

so//建立乙個新的fromboby

formbody.builder bobybuilder = new formbody.builder(util.utf_8);

public response intercept(chain chain) throws ioexception formbody.builder裡傳入util.utf_8就可以啦

public static final charset utf_8 = charset.forname(「utf-8」);

最終的解決方案是將中文引數封裝成類,然後在介面類前加個請求頭解析這個類。

@bodyconverter(builderclassname=「builder類」)

jquery 獲取url鏈結引數 中文亂碼問題

encodeuri 函式可把字串作為 uri 進行編碼。decodeuri 函式可對 encodeuri 函式編碼過的 uri 進行解碼 頁面一 傳遞ur var vensdata 111 var vensname 你好世界 var venssions 10.10.10.10 searchurl e...

webView loadData 中文亂碼問題

使用 loaddata方法是中文部分會出現亂碼,即使指定 utf 8 gbk gb2312 也一樣。webview.getsettings setdefaulttextencodingname utf 8 設定預設為utf 8 text html utf 8 api提供的標準用法,無法解決亂碼問題 ...

mysql jsp servlet 中文亂碼問題。

google一下。你可以找一大堆解決方案。但是我覺得都沒有從根本上解決問題。是不是?我覺得要想根本解決。最主要的方法是統一編碼方案。說出來很簡單。原因也很簡單。但你真的做到了嗎。首先不論你寫的是jsp servlet html 等都必須顯示標明contenttype為utf 8 強烈推薦是utf 8...