Codierungsproblem

#1170452
Lesenswert?

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?
Persönliche Seite #1177676
Lesenswert?

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.
Gast #1179495
Lesenswert?

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.
#1179522
Lesenswert?

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"];
?>
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren