Informationen aus DB mit Umlauten werden als NULL ausgegeben

  • 6 Antworten
  • Letztes Antwortdatum
L

likedue

Ambitioniertes Mitglied
1
Hey Leute,

ich habe das Problem, dass wenn ich aus einer MySQL Datenbank abgelegte Informationen über meine PHP-Krücke hole, die Umlaute (ÜÖÄ) enthalten nur eine Null zurückbekomme.
Alle anderen Informationen holt die App sorgenfrei.

Woran kann das liegen?Bzw...Was kann ich dagegen machen?

In der Datenbank tauchen die Umlaute noch auf.
Die Logcat wirft mir auch keine Fehler aus.
Sie zeigt lediglich die NULL-Werte an.

Danke für Eure Hilfe
Chris
 
Zuletzt bearbeitet:
Sind es auch schon Null-Werte innerhalb des PHP-Scriptes ?
Was wird Dir angezeigt, wenn Du die PHP-Krücke eine Ausgabe
im Browser machen läßt ?
 
Habs grad gecheckt.
Der Fehler taucht schon so im Browser auf.
Any idea?
Ich speichere die Informationen ja auch über die Krücke und erhalte keinen Fehler.
 
Hmm PHP, Datenbanken, Umlaute, Übertragung ....

alles schön UTF codiert ??? - In den meisten Problemfällen humpelt die Zeichenkonvertierung bzw. wird versucht mit HTMLentities alles zu verschlimmbessern.

Wenn du keinen php Code posten magst, prüf doch mal was du genau machst bzw. wo welche Informationen , wie vorliegen.

MYSQL latin/utf
PHP latin/utf/htmlentities/iconv

PHP -> XML ? -> JSON ?
 
Doch klar kann ich die PHP posten.
Ich vermute das Rad nicht neu erfunden zu haben:

Code:
<?php

/*
 * Following code will list all the products
 */

// array for JSON response
$response = array();


// include db connect class
require_once __DIR__ . '/db_connect.php';

// connecting to db
$db = new DB_CONNECT();

// get all products from products table
$result = mysql_query("SELECT *FROM daten") or die(mysql_error());

// check for empty result
if (mysql_num_rows($result) > 0) {
    // looping through all results
    // products node
    $response["products"] = array();
    
    while ($row = mysql_fetch_array($result)) {
        // temp user array
        $product = array();

	$product["id"] = $row["id"];
        $product["eintrag"] = $row["eintrag"];			
        $product["kommentar"] = $row["kommentar"];

        // push single product into final response array
        array_push($response["products"], $product);
    }
    // success
    $response["success"] = 1;

    // echoing JSON response
    echo json_encode($response);
} else {
    // no products found
    $response["success"] = 0;
    $response["message"] = "No products found";

    // echo no users JSON
    echo json_encode($response);
}
?>

Die MySQL-Datenbank selbst ist in utf8-unicode ci
 
Zuletzt bearbeitet:
So,... habs gefixt.

einfach vor das result:

$result=mysql_query('set names utf8');

gesetzt und schon hatte ich die Umlaute drin.
wird wohl nicht das eleganteste sein aber für meine Zwecke ausreichend.

Vielen Dank für eure Hilfe!
 
Zurück
Oben Unten