Forum: PC-Programmierung Codierungsproblem


von Nette M. (nette-mann)


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?

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

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.

von Nette M. (nette-mann)


Lesenswert?

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

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Schau dort doch mal ob ggf irgenwelche Encoding optionen für das 
Textfeld/Formular gesezt sind.

von Nette M. (nette-mann)


Lesenswert?

bin ich eigentlich der einzigste der solche probleme beim copy past 
externer HPs hat?

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

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.

von Läubi .. (laeubi) Benutzerseite


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.

von der mechatroniker (Gast)


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.

von Nette M. (nette-mann)


Angehängte Dateien:

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"];
?>

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
Noch kein Account? Hier anmelden.