私はアンドロイドに春を使用しています。Android アプリで登録フォームを作成したいと考えています。ユーザーは utf-8 形式でフォームに記入するかもしれませんが、データがサーバーに送信され、MySQL データベースに保存されると、?????? が見つかります。私のデータベースfield.tableの列タイプはutf8_general_ciに設定されています。私の質問は、phpページでコンテンツタイプに何かを設定する必要がありますか、それともAndroidコードでUTF-8を設定する必要がありますか? 両方のために私は何をすべきですか?これが私が使用している私のコードです:私はここと同じことをしました
File cacheDirectory = context.getFilesDir();
tmpFile = new File(cacheDirectory.getPath() + "/" + "avatar.png");
Resource file = new FileSystemResource(tmpFile);
MultiValueMap<String, Object> formData = new LinkedMultiValueMap<String, Object>();
formData.add("firstName", registerFields[0]);
formData.add("lastName", registerFields[1]);
formData.add("userName", registerFields[2]);
formData.add("file", file);
HttpHeaders requestHeaders = new HttpHeaders();
requestHeaders.setContentType(MediaType.MULTIPART_ FORM_DATA);
HttpEntity<MultiValueMap<String, Object>> requestEntity = new HttpEntity<MultiValueMap<String, Object>>(formData, requestHeaders);
RestTemplate restTemplate = new RestTemplate(true);
restTemplate.getMessageConverters().add(
new GsonHttpMessageConverter());
restTemplate.getMessageConverters().add(
new StringHttpMessageConverter());
ResponseEntity<Success[]> response = restTemplate.exchange(url, HttpMethod.POST, requestEntity,Success[].class);
return response.getBody();
編集:UTF-8の問題を解決しましたこの行をconfig.phpファイルに追加しただけで、問題は解決しました
mysql_query("SET character_set_results=utf8 , character_set_client=utf8 , character_set_connection=utf8 , character_set_database=utf8 , character_set_server=utf8",$con);
編集:問題を解決していません