- Forum-Beiträge: 434
01.11.2014, 20:23:20 via Website
01.11.2014 20:23:20 via Website
Hallo,
mich bringen die Umlaute irgendwann noch in den Wahnsinn.
Ich versuche mittels AsyncHttpClient (ist eine Lib für Android) Datensätze in meine Datenbank einzutragen und habe feststellen müssen, dass Umlaute am Ende so eingetragen werden... Darmstädter Str.
Wenn ich Datensätze über die Web-API anlege, passiert es komischerweise nicht.
Der absolute Witz: Ich bin mir 100% tig sicher, dass gestern noch alles einwandfrei lief. Änderungen habe ich ebenfalls nicht vorgenommen, jedenfalls nicht wissentlich oO An der Datenbank habe ich nichts geändert und im Code nur ein paar Sachen umbenannt - sollte aber eigentlich auch keine Auswirkungen haben - wenn würde dann ja wahrscheinlich "alles" nicht mehr funktionieren - und nicht nur die Umlaute nicht.
Puhhh... An was kann so was liegen? Ich bin mittlerweile echt ziemlich ratlos.
public void storePositionInDb() {
AsyncHttpClient client = new AsyncHttpClient();
RequestParams params = new RequestParams();
params.add(MC.STR_BEKY, String.valueOf(mDzone.getStr()));
client.post("foosbar.de/locationstore.php", params, new AsyncHttpResponseHandler() {
public void onSuccess(String response) {
}
public void onFailure(int statusCode, Throwable error, String content) {
}
});
}
Und hier die php..
public function accomplish()
{
/*Array fuer JSON response*/
$response = array();
/*Felder auf Inhalt pruefen*/
if (isset($_POST['la']) && isset($_POST['lo'])
&& isset($_POST['ne']) && isset($_POST['st'])
) {
/*UTF-8!!*/
mysql_query("SET NAMES 'utf8'");
/*Werte aus JSON-Objekt in Variablen ablegen*/
$st = $_POST['st'];
/*von Smartphone empfange Daten in UTF-8 konvertiert*/
// $st = utf8_encode($st);
// $us = utf8_encode($us);
/*Reihe einfuegen*/
...
}
Das Setzen des UTF-8 Formats (auskommentiert) bringt nichts :-/ ach man, es ist so extrem frustrierend weil es dabei halt auch nichts zu "verstehen" gibt.
Nachtrag:
Auch das hilft nichts:
String oldString = "Krötz";
String newString = null;
try {
newString = new String(oldString.getBytes("UTF-8"), "UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
storePositionInDb(100006, newString);
Kodiert habe ich die php Files mit UTF-8 ohne BOM.. ist das richtig oder falsch? Ich lese immer wieder 100 verschiedene Aussagen...
— geändert am 01.11.2014, 20:49:49
Open Source