我想從機器人發送POST請求到PHP應用程序以UTF-8與下面的代碼:POST請求到PHP
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair(Site.SQL_QUERY, "just a test 東京"));
UrlEncodedFormEntity urlEncodedFormEntity = new UrlEncodedFormEntity(params);
urlEncodedFormEntity.setContentEncoding(HTTP.UTF_8);
httppost.setEntity(urlEncodedFormEntity);
HttpResponse response = httpclient.execute(httppost);
BufferedReader reader = new BufferedReader(new inputStreamReader(response.getEntity().getContent(), HTTP.UTF_8));
String result = reader.readLine();
餘集編碼爲UTF-8,但包含日文字符在字符串中不能正常顯示。
這是我的PHP代碼(cakePHP)。我只是轉儲參數。
function sqlQuery(){
var_dump($this->params['form']['sql_query']);exit;
}
它會顯示類似 「只是一個測試□□」
我也試圖與
mb_convert_encoding ($this->params['form']['sql_query'],"UTF-8")
但問題仍然存在...
有人能幫助我嗎? 謝謝
我找到了解決方案! \t UrlEncodedFormEntity urlEncodedFormEntity = new UrlEncodedFormEntity(params,HTTP.UTF_8); \t urlEncodedFormEntity.setContentEncoding(HTTP.UTF_8); \t httppost.setEntity(urlEncodedFormEntity); – johann
你使用的是什麼cakephp版本?在2.x其'$ this-> request-> data' – mark