Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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
GELÖST

AJAX - Umlaut Problem beim speichern von Formularfeldern

Frage Entwicklung Webentwicklung

Mitglied: Simplex-Media

Simplex-Media (Level 1) - Jetzt verbinden

05.09.2008, aktualisiert 08.09.2008, 8479 Aufrufe, 6 Kommentare

Hallo,
ich nutze folgendes Script um Daten aus einem Formular in einer MySQL Datenbank zu speichern ohne die Seite neu zu laden, allerdings gehen nach dem aktualisieren der Seite die Umlaute verloren bzw, werde durch ö ä ü usw.. ersetzt... hat dazu evtl. jemand eine Lösung?

Hier das Script

01.
<script type='text/javascript'> 
02.
<!-- 
03.
var req; 
04.
function sendRequest(formdata) { 
05.
	try { 
06.
		req = window.XMLHttpRequest?new XMLHttpRequest(): new ActiveXObject('Microsoft.XMLHTTP');  
07.
	} catch (e) { 
08.
		alert('kein ajax'); 
09.
	}  
10.
 
11.
	req.onreadystatechange = handleResponse; 
12.
 
13.
	req.open('post', 'module/kontakt/func.php'); 
14.
	req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); 
15.
	req.send(formdata);  
16.
	return false; 
17.
18.
 
19.
function handleResponse() { 
20.
	if ((req.readyState == 4) && (req.status == 200)) {  
21.
		alert(req.responseText); 
22.
23.
24.
//--> 
25.
</script>


Das Formular:

01.
<form method='post' onsubmit=\"return sendRequest('wert1='+this.wert1.value+'&wert2='+this.wert2.value);\"> 
02.
 
03.
...


Und letztlich das SQL Kommando

01.
$sql = sprintf("UPDATE `$dbtable` SET `WERT1` = '%s' WHERE `WERT` = '$wert' LIMIT 1 ; ", $_POST['wert1']); 
02.
$sql = sprintf("UPDATE `$dbtable` SET `WERT2` = '%s' WHERE `WERT` = '$wert' LIMIT 1 ; ", $_POST['wert2']);
Evtl. hat ja jemand eine Lösung, ich bin am verzweifeln...
Mitglied: SnowStar
05.09.2008 um 18:33 Uhr
Arbeite selbst mit Ajax (genaugenommen mit der Sajax.php), die Sache mit Javascript und der kodierung ist mir daher geläufig.
Ich kenne zwar deine Seiten- und Datenbankdcodierung nicht, tippe aber auf UTF-8.

Schau dir mal ein Script an, dass sich Webtoolkit.utf8.js nennt.
http://www.webtoolkit.info/javascript-utf8.html

Bei mir ist die Ausgabe folgendermaßen geregelt:

"new_data" enthält Daten, die bei der Ausgabe aussehen, wie von dir beschrieben, weil schon "falsch" abgespeichert.
Das Element "Ausgabe" ist ein Bereich: <div id="ausgabe"></div>.

01.
document.getElementById('ausgabe').innerHTML = Utf8.decode(new_data);
Hoffe ich konnte helfen, viel Erfolg!
Bitte warten ..
Mitglied: Arano
06.09.2008 um 00:21 Uhr
Ich glaube das Problem hatte ich auch.
Gelöst habe ich es, dass ich in der PHP-Datei den übertragenen String noch mal mit utf8_decode() "bearbeitet" habe.

~Arano
Bitte warten ..
Mitglied: Simplex-Media
06.09.2008 um 00:29 Uhr
Genau das wars ;) super, viele Dank
Bitte warten ..
Mitglied: Simplex-Media
07.09.2008 um 10:04 Uhr
noch eine kleinigkeit, ich würde gerne beim absenden der daten auf der seite mit dem formular einen hinweis in der form "Uhre Daten wurden gespeichert" anzeigen lassen der nach ein paar sekunden wieder verschwindet, weiß jemand wie man das umsetzen könnte??
Bitte warten ..
Mitglied: SnowStar
08.09.2008 um 10:15 Uhr
Am einfachsten mit der onsubmit option im form-tag.
Du könntest natürlich auch ein alert-Event zurückgeben lassen, sobald die Datenspeicherung abgearbeitet ist (sofern du das mit dem Ajax abarbeiten willst).

Schau dir mal die sajax Sache an, in den Beispielen findest du einen Lösungsansatz dazu.
http://www.modernmethod.com/sajax/
Übrigens mit einer kleinen Modifikation voll UTF-8 tauglich
Bitte warten ..
Mitglied: Simplex-Media
08.09.2008 um 19:33 Uhr
habe es jetzt gelöst das mit dem absenden des scripts eine bestätigungsid an die seite zurückgegeben wird die entweder
0 = fehler oder 1 = erfolgreich
liefert, auf der seite selber läuft dann ein JS das je nach id eine entsprechende meldung anzeigt und ein zweites JS aktiviert was die meldung nach 2 sekunden wieder ausblendet.

Danke für eure Hilfe
Bitte warten ..
Ähnliche Inhalte
Netzwerkgrundlagen
gelöst SG300-10 Layer 2 VLAN Problem (4)

Frage von chulio zum Thema Netzwerkgrundlagen ...

PHP
Formular ausfüllen, speichern und editierbar machen (7)

Frage von wescraven07 zum Thema PHP ...

E-Mail
Problem mit Spam-Mail (6)

Frage von huberd zum Thema E-Mail ...

Hosting & Housing
Problem mit: Reverse DNS Resolution - PTR Record (2)

Frage von Krabbat zum Thema Hosting & Housing ...

Neue Wissensbeiträge
Windows 10

Windows 8.x oder 10 Lizenz-Key aus dem ROM auslesen mit Linux

(6)

Tipp von Lochkartenstanzer zum Thema Windows 10 ...

Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(38)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Heiß diskutierte Inhalte
Festplatten, SSD, Raid
POS Hardware und alternativen zu Raid 1? (21)

Frage von Brotkasten zum Thema Festplatten, SSD, Raid ...

Windows 10
gelöst Windows 10 Home "Netzlaufwerk nicht bereit" (19)

Frage von Oggy01 zum Thema Windows 10 ...

Viren und Trojaner
Verschlüsselungstrojaner simulieren (18)

Frage von AlbertMinrich zum Thema Viren und Trojaner ...

Exchange Server
Exchange Postfach leeren - nicht löschen (11)

Frage von AndreasOC zum Thema Exchange Server ...