나는이 문제에 대한 귀하의 도움이 필요합니다. 안드로이드 응용 프로그램에서 PHP 스크립트로 특수 문자를 보내고 싶습니다.안드로이드와 PHP 사이의 특수 문자
안드로이드 코드
...
HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost("http://www.mypage.com/script.php");
try {
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(1);
nameValuePairs.add(new BasicNameValuePair("value", "Español"));
post.setEntity(new UrlEncodedFormEntity(nameValuePairs));
HttpResponse response = client.execute(post);
StatusLine statusLine = response.getStatusLine();
if(statusLine.getStatusCode() == HttpURLConnection.HTTP_OK){
InputStream inps = response.getEntity().getContent();
InputStreamReader inp = new InputStreamReader(inps, Charset.forName("ISO-8859-2"));
BufferedReader rd = new BufferedReader(inp);
StringBuilder stringBuilder = new StringBuilder();
String bufferedStrChunk = null;
while ((bufferedStrChunk = rd.readLine()) != null) {
stringBuilder.append(bufferedStrChunk);
}
Result = stringBuilder.toString();
}...
PHP 코드
<?php
header("Content-Type: text/plain;charset=ISO-8859-2");
echo $_POST["value"];
?>
먼저 이동
"Español"문자열을 Android에서 PHP로 보내려고합니다. MySQL 테이블 (UNICODE charset)에 문자열을 저장하고 문자열을 올바르게 가져옵니다. 나는 또한 각 charracter의 정수 값을 얻는다. 결과는 "Español"및 "69.115.112.97.241.111.108"입니다. 따라서 Android는 문자 "ñ"를 241으로 보내며, UNICODE 차트에서는 "ń"으로 정의됩니다. 나는 안드로이드에 대신 내가 "N"GET "N"을 얻는 PHP에서 문자열을 반환 http://www.ssec.wisc.edu/~tomw/java/unicode.html#x0080
둘째로 이동
에 그것을 참조하십시오. 여기 내가 잃어버린 곳이있다. 왜 이것이 변하고 왜 같은 숫자 값을 갖는 것이 다른가? 이것은 나에게 너무 많은 일이며 나는 당신의 도움을 요청합니다. 미리 감사드립니다!
왜 UTF-8을 사용하지 않습니까? – Rufinus
당신이 무엇을 보내기 전에'base64'를 사용하십시오. 내가 한 일은 – Baba