У меня есть DB, для которого все его столбцы установлены как "hebrew_general_ci".MySQL - hebrew charachters становятся вопросительными знаками в DB
Когда я пытаюсь вручную вставить значения иврита в мою БД или через Postman, я вижу, что значения в БД действительно находятся на иврите.
Но, когда я пытаюсь вставить значения из своего приложения (приложение для Android в кодировке java), значения становятся вопросительными знаками - ????
Я попытался закодировать свой текст в UTF-8 в самом приложении, но это не сработало.
вот код, который предположим, сделать это:
private String POST(String url, String jsonParamsAsString) {
String result = "";
String fixedUrl = url.replace(" ","%20");
try {
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpPost postRequest = new HttpPost(fixedUrl);
byte ptext[] = jsonParamsAsString.getBytes();
jsonParamsAsString = new String(ptext, "UTF-8");
StringEntity input = new StringEntity(jsonParamsAsString);
input.setContentType("application/json; charset=utf-8");
//input.setContentType("application/json");
postRequest.setEntity(input);
HttpResponse response = httpClient.execute(postRequest);
result = convertInputStreamToString(response.getEntity().getContent());
/*byte ptext[] = result.getBytes();
result = new String(ptext, "UTF-8");*/
} catch (Exception e) {
Log.d("InputStream", e.getLocalizedMessage());
}
return result;
}
ли соединение запроса вы имели в виду в том, что я ставлю выше? – binyamina
@Binyamina нет вам нужно найти, где находится ваш java-коннектор базы данных, примерно так: 'con = DriverManager.getConnection (" jdbc: mysql: // localhost/embeddedChat? UseUnicode = true & characterEncoding = utf8 ");' – jamescampbell
@Binyamina также см. [this] (http://stackoverflow.com/questions/11976074/writing-hebrew-to-mysql-using-java), так как в разделе ответов они, похоже, точно решают вашу проблему. – jamescampbell