wie schon zu lesen unter INSERT INTO hab ich ein problem mit der Codierung nur wurde es dort falsch aufgenommen. Fall: Ich kopiere Text von einer Internetseite in den Zwischenspeicher und füge diesen in mein formular ein. Dabei entsteht jedoch bei Zeichen wie " - äöü etc Codierungsproblem beim einfügen in die DB. kopier ich den Text in den Editor/Notepad und dann in das Formular passiert das selbe. Schreib ich ihn allerdings per Hand ab, passieren keine Fehler. Ist alles komplett auf utf8. Wie umgehe ich nun diesen Problem?
Probier mal notepad2 dort kanst du Text in ANSI/ASCII convertieren lassen. Datei --> Konvertieren(Zeichensatz) Vermutlich passt das encoding der Website nicht zum encoding deiner Datenbank.
das ja eher ne Gehhilfe. Schau ich mir z.B. den PHP my Admin an, kopier da den selben text rein, gehts ja auch. Nur da ist der Quellcode so kompliziert geschrieben. Aber danke erstmal
Schau dort doch mal ob ggf irgenwelche Encoding optionen für das Textfeld/Formular gesezt sind.
bin ich eigentlich der einzigste der solche probleme beim copy past externer HPs hat?
Nö, das Problem hat man aber auch beim Kopieren aus Word, OpenOffice etc. pp. Solche Textfelder sind halt standardmäßig recht simple Kompoenten. Du könntest ja mal "Dein" Formular + die Website die Ärger macht hier posten vieleicht ergeben sich da neue Ansatzpunkte. Interessant wäre auch noch das/die gestesteten Betriebsysteme.
Hab jezt nochmal deinen Alten Thread gesucht (hättest vieleicht verlinken sollen). Das '?' steht für ein Zeichen welches in der gewählten codierung (in diesem Falle UTF-8) nicht vorkommt. Das kann z.B. sein das auf der Website Anführungstriche Oben/Unten verwendet werden anstelle von " oder sosntige gemeinheiten, wie z.B. ein langer Gedankenstrich -- (ASCII 150/151) der dann auch in einem ? resultiert. Ein UTF-8 Encode/Decode macht nicht das was man naiv vermuten würde, eine codierung in/von einen "universellen Zeichensatz". UTF-8 Encode interpretiert nur die Zeichen/Bytes gemäß eines festen Zeichensatzes, was dort nicht vorkommt wird "gelöscht" indem ein '?' eingesezt wird. Das kannst du am besten dadurch sehen das du dir einfach das encodierte ausgibst. Das einfachste ist, das du anstelle von UTF-8 die Daten mit URLENCODE/URLDECOE versendest, oder deiner Formularseite mitteilst das du gerne UTF-8 verwenden willst.
Die meisten Webbrowser interpretieren eine Webseite defaultmäßig ISO-8859-1. (Der HTML-Standard läßt einen da völlig im Regen, aber Western fanden die Browserprogrammierer wohl sinnvoll, weil viele HTML-Coder, die sich mit der Thematik nicht befasst haben, nunmal in Western codieren). Ist keine Meta-Charset-Angabe vorhanden und die Datenbank benutzt UTF-8, kann es nur schiefgehen.
zwecks websie verlinken: Wurde ich dieses tun, würde ich großen Ärger bekommen --> Firmen HP und das Formular ist in einem Benutzer geschützten Bereich Von daher eher schlecht aber Code kann ich posten: in der Datei fehlt an erster Stelle noch <?php include ("checkuser.php"); $jahr = date(Y); include ("engine/connect.php"); $user = $_SESSION["user_id"]; $uhrzeit = date("H:i"); include ("menue.php"); $ID = $_GET["ID"]; ?>
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.