Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

PHP zeigt Umlaute aus Datenbank falsch an

Frage Entwicklung PHP

Mitglied: simon-ni

simon-ni (Level 1) - Jetzt verbinden

19.06.2013, aktualisiert 10:07 Uhr, 2575 Aufrufe, 6 Kommentare

Hallo,

wie bereits der Titel vermuten läst, zeigt mir meine PHP Umlaute aus meiner MySQL Datenbank falsch an.

Wenn ich die Daten direkt ausgebe, werden Sie richtig angezeigt, wenn ich das ganze allerdings über Ajax nachlade kommt es zu einem Fehler.

Diese Datei wird von dem Ajax Script aufgerufen.

01.
  
02.
$db = mysqli_connect($hostname, $username, $password, $dbname); 
03.
 
04.
if (mysqli_connect_errno()) { 
05.
	printf("Verbindung fehlgeschlagen: %s\n", mysqli_connect_error()); 
06.
	exit(); 
07.
08.
mysql_query("SET NAMES 'utf8'"); 
09.
 
10.
 
11.
if ($_POST["suchbegriff"]){ 
12.
		 
13.
	$result = mysqli_query($db, "SELECT ID, vorname, nachname  
14.
	FROM azubi WHERE vorname LIKE ('%".mysql_real_escape_string($_POST["suchbegriff"])."%')  
15.
	OR nachname LIKE ('%".mysql_real_escape_string(($_POST["suchbegriff"]))."%')"); 
16.
		 
17.
	while($row = mysqli_fetch_array($result)){ 
18.
	echo $row['vorname']." ".$row['nachname']." "
19.
		echo '<a href="edit_azubi/edit_azubi.php?id='.$row['ID'].'"  
20.
		onclick="FensterOeffnen(this.href); return false">Bearbeiten</a>'; 
21.
		echo "<br/>";		 
22.
23.
               }


Hier noch das Ajax, welches ich nicht selber geschrieben hab.

01.
  
02.
function searchAzubi(suchbegriff){ 
03.
	var xmlHttp = null; 
04.
	// Unterstützung für Internet Explorer 7 
05.
	if (typeof XMLHttpRequest != 'undefined') { 
06.
	     xmlHttp = new XMLHttpRequest(); 
07.
08.
	// Wenn das Objekt erfolgreich erzeugt werden konnte			 
09.
	if (xmlHttp) { 
10.
		var url = "edit_azubi/suchfunktion.php"; //Die Suchfunktion deklarieren 
11.
		var params = "suchbegriff="+suchbegriff; //Den Suchbegriff abspeichern 
12.
					 
13.
		xmlHttp.open("POST", url, true); //Daten über POST an die Suchfunktion übergeben 
14.
					 
15.
		//Headerinformationen für den POST Request 
16.
		xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 
17.
		xmlHttp.setRequestHeader("Content-length", params.length); 
18.
		xmlHttp.setRequestHeader("Connection", "close");					 
19.
					 
20.
		xmlHttp.onreadystatechange = function () { 
21.
			if (xmlHttp.readyState == 4) { 
22.
			// Zurückgelieferte Ergebnise werden in das DIV "ergebnis" geschrieben 
23.
			document.getElementById("ergebnis").innerHTML = xmlHttp.responseText; 
24.
25.
		};				 
26.
		xmlHttp.send(params); 
27.
	}			 
28.
}

Ich versteh zwar was in dem Ajax Script steht, allerdings hab ich sonst nicht viel Ahnung davon. Ich brauche es nur für IE8+ falls es am Ajax liegt. Die Tabelle sowie die einzelnen Felder sind auf utf8_general_ci eingestellt.

Wie gesagt, es wird alles richtig angezeigt, sollange ich es nicht über das Ajax aufrufe.

Noch nen paar Infos.

Apache/2.4.3 (Win32) OpenSSL/1.0.1c PHP/5.4.7
phpmyadmin Versionsinformationen: 3.5.2.2


Ich hoffe ihr könnt mir helfen

Grüße

Nico
Mitglied: Dirmhirn
19.06.2013 um 10:12 Uhr
Hi!

Du musst alles auf UTF8 kodieren.
d.h. auch deine php Skirpts als "UTF8 ohne BOM" abspeichern, dann erkennt der Browser das richtig und schreibt und liest die Daten richtig.

sg Dirm
Bitte warten ..
Mitglied: simon-ni
19.06.2013 um 11:08 Uhr
Zitat von Dirmhirn:
Hi!

Du musst alles auf UTF8 kodieren.
d.h. auch deine php Skirpts als "UTF8 ohne BOM" abspeichern, dann erkennt der Browser das richtig und schreibt und liest
die Daten richtig.

sg Dirm

Hi,

danke für die Antwort, hab in meinem Notepad++ Kodierung - Konvertiere zu UTF8 ohne BOM ausgewählt und alles gespeichert (Meine index mit dem Ajax und die Suchfunktion Php) leider funktioniert das nicht?.

Grüße
Bitte warten ..
Mitglied: Dirmhirn
19.06.2013 um 11:14 Uhr
Hi!

Wie kamen die Daten in die DB?

utf8encode bzw utf8decode kannst auch noch anschauen.

Wenn ich die Daten direkt ausgebe, werden Sie richtig angezeigt
Probier das einmal mit einem UTF8 kodierten php-skript. passts dann auch noch?

sg Dirm
Bitte warten ..
Mitglied: simon-ni
19.06.2013 um 11:25 Uhr
Mhm.. geht leider auch nicht. Über ein von mir programmiertes Formular, textfelder werden direkt in in die DB geschrieben. Zum test hab ich grad noch einen Datensatz von Hand angelegt.

Ich denke es liegt eher an dem Ajax?
Bitte warten ..
Mitglied: Dirmhirn
19.06.2013 um 11:41 Uhr
Mhm.. geht leider auch nicht.
bezieht sich das auf:
> Wenn ich die Daten direkt ausgebe, werden Sie richtig angezeigt
Probier das einmal mit einem UTF8 kodierten php-skript. passt's dann auch noch?

dann sind die Daten in die DB wohl falsch eingetragen wurden. Für eine richtige Darstellung, müssen die eingabe und Ausgabe Skripte UTF8 ohne BOM kodiert sein. sowie die DB und die Verbindung.
du kannst aber auch die Daten vor dem Eintragen mit utf8encode konvertieren.
Bitte warten ..
Mitglied: simon-ni
19.06.2013 um 12:51 Uhr
Wenn ich es in UTF Codiere. Ich versuch gleich mal die Daten über utf8encode einzutragen.
Bitte warten ..
Ähnliche Inhalte
Apache Server
Nach PHP-Update von 5.4 auf 5.6 werden Umlaute falsch dargestellt
gelöst Frage von coltseaversApache Server2 Kommentare

Hallo zusammen, ich habe auf einem Websever (Debian 7 stable, Apache 2.2) ein PHP-Update von Version 5.4 auf 5.6 ...

PHP
PHP 7 und LDAP mit Umlauten
gelöst Frage von wiesi200PHP3 Kommentare

Hallo, ich bastle für unsere Firma an einer kleinen Webseite die Daten aus unserem ERP System anzeigen kann. Zur Umgebung CentOS 7 ...

Windows Tools
Notepad++ zeigt Inhalt falsch an
Frage von ralfkauskWindows Tools3 Kommentare

Hallo zusammen Ein Kollege hat eine .txt Datei die Inhalte mit Tabulatoren enthält. Seit 2-3 Tagen werden diese Inhalte ...

Windows 7
Windows zeigt Speicherplatz falsch an
gelöst Frage von honeybeeWindows 73 Kommentare

Hallo, ich löse gerade ein seltenes Phänomen: Vor kurzem wurde eine SSD gegen eine größere ausgetauscht (von 250 GB ...

Neue Wissensbeiträge
Apple

IOS 11.2.1 stopft HomeKit-Remote-Lücke

Tipp von BassFishFox vor 8 StundenApple

Das Update für iPhone, iPad und Apple TV soll die Fernsteuerung von Smart-Home-Geräten wieder in vollem Umfang ermöglichen. Apple ...

Windows 10

Windows 10 v1709 EN murkst bei den Regionseinstellungen

Tipp von DerWoWusste vor 13 StundenWindows 10

Dieser kurze Tipp richtet sich an den kleinen Personenkreis, der Win10 v1709 EN-US frisch installiert und dabei die englische ...

Webbrowser

Kein Ton bei Firefox Quantum über RDP

Tipp von Moddry vor 13 StundenWebbrowser

Hallo Kollegen! Hatte das Problem, dass der neue Firefox bei mir auf der Kiste keinen Ton hat, wenn ich ...

Internet

EU-DSGVO: WHOIS soll weniger Informationen liefern

Information von sabines vor 1 TagInternet4 Kommentare

Wegen der europäische Datenschutzgrundverordnung stehen die Prozesse um die Registrierung von Domains auf dem Prüfstand. Sollte die Forderungen umgesetzt ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
Von rj11 auf rj45
Frage von jensgebkenLAN, WAN, Wireless19 Kommentare

Hallo Gemeinschaft, könnt ihr mir vielleicht bei der anfertigung eines Kabels helfen - habe ein rj 11 stecker und ...

Netzwerkmanagement
Firefox Profieles im Roaming
gelöst Frage von Hendrik2586Netzwerkmanagement17 Kommentare

Hallo liebe Leute. :) Ich hab da ein kleines Problem, welches anscheinend nicht unbekannt ist. Wir nutzen hier in ...

LAN, WAN, Wireless
Häufig Probleme beim Anmelden in WLAN
Frage von mabue88LAN, WAN, Wireless15 Kommentare

Hallo zusammen, in einem Netzwerk gibt es relativ häufig (1-2 mal pro Woche) Probleme mit der WLAN-Verbindung. Zunächst mal ...

Windows Server
Remotesteuerung der Sitzung (Kennung XX) fehlgeschlagen
gelöst Frage von Stefan91Windows Server14 Kommentare

Hallo Zusammen, seit kurzem bekomme ich oben genannte Fehlermeldung, wenn ich versuche eine Remotesitzung über den Taskmanager fernzusteuern (Rechtsklick ...