• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Umlaute aus Wprtern rausnehmen und anschließend wieder anzeigen lassen

andynail

Mitglied
Umlaute aus Wörtern für sql rausnehmen und anschließend wieder anzeigen lassen

Hallo zusammen

wie ich sehe kann man ja keine Datenbanken und Tabellen mit Umlauten abfragen. Denn ich will eine Auswahl an Link Bereichen, den Datenbaken, und zusätzlich untergeordnete Auswahlmöglichkeiten, sprich die Tabellen, anzeigen.

Und ich will aber nicht hinterlegen wie jede einzelne Datenbank oder Tabelle heist. Und so wäre es genial wenn man mit Umlauten wie gewünscht umgehen könnte. Denn dann lautet nur der Name der Datenbank und Tabelle so, aber die Namen können wie gewünscht angezeigt werden.

Danke Gruß Andreas
 
Zuletzt bearbeitet:
Ja, das wäre schon gut.

Nein, im Ernst: Ich habe keine Wort verstanden. Formuliere das bitte noch einmal um.
 
Hallo struppi

ok du vielen Dank für deine Unterstützung. Wie soll das denn ansonsten funktionieren? Ich probierte es und bekam nur Fehlermeldungen.

Danke Gruß Andreas
 
Hallo

die folgenden Namen sind von mir nur für dieses Thema kreiert worden. Ich möchte die Möglichkeit bieten Einträge ohne Einschränkungen anlegen zu können und wählte hierfür einfach mal folgende Namen:

Die Datenbank heist zb. Ämter, und dann erhalte ich die Fehlermeldung: DB kann nicht ausgewählt werden

Lautet der Name der Tabelle Ämterverzeichnis, so erhalte ich die Fehlermeldung:
Error:
Table 'amt.ämterverzeichnis' doesn't exist

Danke gruß Andreas
 
Du hast ein Zeichensatzproblem, das liegt aber nicht an mysql. Irgendwo hast du eine Umwandlung der utf-8 Zeichen in den ISO zeichensatz, das geht natürlich schief.
 
Hallo und vielen Dank

ok nur wie finde ich dieses? Die Namen der Datenbank und Tabelle übergebe ich als Link an die Seite. Und dieses durch urlencode und bzw. dann auch per urldecode auf der Seite. Lasse ich mir per Echo und dann per alert die Namen anzeigen, so werden diese dann auch korrekt angezeigt.

Danke gruß Andreas
 
Ich rate mal ins Blaue: Du hast das Charset der Verbindung nicht auf UTF-8 stehen.

SQL:

Code:
SET NAMES 'utf8'

Als erste Anweisung nach Aufbau der DB-Verbindung.
 
Hallo zusammen

die Zeile die die Datei aufruft lautet:
PHP:
 <a href="#" onclick="OpenDaten(this)" style="background-image:url('Pictures/web_down.ico'); background-repeat:no-repeat; background-position:center; height:44px" <?php echo "Link='LinkListCache.php?b=-2&MarkerMode=Marker".urlencode("&db=Amt&table=Ämterverzeichnis")."'"; ?> class="MenueCtl" name="PageMenue" id="Bereiche-2" title="Link Cache"></a>

und die Verarbeitung der Parameter lautet in der aufgerufenen Datei:

PHP:
$site = urldecode($_SERVER['QUERY_STRING']);
parse_str($site, $Parameter);
$Work = $_GET['work'];
$table = $Parameter['table'];
$Frame = $Parameter['Frame'];
 
if ($Work == "y" && $table != "Aktuelle")
{
$db = $Parameter['db'];
 
$verbindung=mysql_connect(ini_get("mysqli.default_host"), $user, $password) or
    die("Es konnte keine Datenbankverbindung hergestellt werden.");
mysql_select_db($db, $verbindung) or
    die("DB kann nicht ausgewählt werden.");
mysql_query("UPDATE `$db`.`$table` SET Url = '$Adresse', Link = '$Link', Name = '$LinkName', Bild = '$Bild', Hoch = '$Hoch', Breit = '$Breit', Datei = '$Datei', Infos = '$Infos', Daten = '$Daten' WHERE ID = '$LinkID'") OR die("Error: <br>".mysql_error());
mysql_close($verbindung);

Und ich erstelle derzeit die Tabellen mit phpmyAdmin und ich hatte die Verzeichnisse und Tabellen im dbdir von server2go einfach umbenannt, was ja auch funktioniert wenn keine Umlaute drinstehen.


Danke für Eure Hilfe, denn wäre toll es hinzubekommen.

Gruß Andreas
 
Zuletzt bearbeitet:
Hallo

OK doch frage ich mich wo das hinsoll? Ich probier gerade mehrere Zeilen/Varianten aus.

Und Nachtrag: Sorry anfangs nicht die Fehlermeldung von mysql beim Öffnen der Datenbank Ämter geschrieben zu haben. Denn diese lautet Error: Unknown database 'ämter'

Danke gruß Andreas
 
Zuletzt bearbeitet:
Hallo

ok dann sehen also meine Zeilen jetzt so aus:
PHP:
$verbindung=mysql_connect(ini_get("mysqli.default_host"), "root", "", "SET NAMES 'utf8'") or
    die("Error: <br>".mysql_error());
mysql_select_db($db, $verbindung) or
    die("Error: <br>".mysql_error());
doch weiterhin bekomme ich die Nachricht
Error:
Unknown database 'ämter'
 
:neutral:

PHP:
$verbindung=mysql_connect(ini_get("mysqli.default_host"), "root", "") or
    die("Error: <br>".mysql_error());
mysql_query("SET NAMES 'utf8'");
mysql_select_db($db, $verbindung) or
    die("Error: <br>".mysql_error());
 
Hallo

ok vielen Dank. Ich war ja am verzweifeln wohin mit. Doch ich erhalte weiterhin die Message

Error:
Unknown database '?mter'

Danke Gruß Andreas
 
Ich tippe mal drauf, dass Du in $db den Namen "Ämter" nicht als UTF-8 gespeichert hast. Wenn dein Editor selbst das nicht unterstützt, dann schreib es so:

Code:
mysql_select_db(utf8_encode($db), $verbindung) or
    die("Error: <br>".mysql_error());

Setzt aber ebenso wie der SET NAMES Befehl voraus, dass die Datenbank wie auch der Datenbankname mit utf8 als Zeichensatz erstellt wurde.
 
Ach, um das Rätselraten hier mal abzukürzen: Es ist ein Zeichensatzproblem.

Geh etwa diesen Artikel durch und überprüfe, in welchem Zeichensatz die einzelnen Komponenten deiner Anwendung arbeiten/gespeichert (Dateikodierung) sind.

- UTF-8 - PHP Forum: phpforum.de

Das tatsächliche Encoding einer HTML-Seite kannst du etwa im Firefox unter „View Page Info → General → Encoding“ einsehen. Die Zeichensätze der DB-Tabellen stehen etwa im phpMyAdmin.
 

Neueste Beiträge

Zurück
Oben