Sonderzeichen & Co. in Mysql?

salo

Mitglied
Hallo alle miteinander,
In eine Tabelle habe ich eine Spalte von Type Text. Ich speichere von user geschriebene
Texte da drin. Aber wenn ich die in PHP den Text rufe, kriege die manche Sonderzeichen
Probleme, wie:
-wenn ein wort zwischen "" schreibe beim Ausgeben gibt er dieses Wort und weitere Text ab dieses Text nicht mehr.
-Oder statt drei Punkt (...etc) gibt er ?etc, also statt drei Punkte gibt er Fragezeichen.
Woher kann Problem kommen und wie kann ich es lösen. Muss ich was achten, wenn ich ein Text-Spalte INSERT oder SELECT mache?

Danke voraus,
Gruss
 
Hallo

Quellcode posten .....

In PHP musst du Sonder Zeichen Escapen

die tut man mit einem "\"

echo "Hallo ich bin ein Satz";

echo "Hallo ich bin ein Staz mit \"Gänzefüsschen\"";

Grüsse

Ps poste mal den Quellcode, dann kann man dir helfen!
 
Ganze Quell Code ist sehr lang, deswegen kürze ich mal
Wie folgt definiere ich mein Textarea, der eigentlich gar nicht richtig funktioniert.

PHP:
echo "<td><b>Message: </b><br>\n<i> Schreib mal Dein Nachricht.  </i></td></tr>
  <td><textarea name=\"formtext\" rows=7 cols=45 ></textarea></td>";

wie folgt speichere ich textarea
PHP:
function array_item($ar, $key) {
  if(array_key_exists($key, $ar))
    return($ar[$key]); 
}
$formtext=array_item($_POST,'formtext');

Danach versuche ich den Text wie folgt in Datenbank zu speichern
PHP:
insert into messages values ($formMsgID, $formForumID, $sesUserID,
                       trim(stripslashes($formSubject)),
                       trim(stripslashes($formText)));

Und wenn an andere Ort mit select ziehe ich message und gebe ich aus.
Ich speichere es in Session
und leite ich mit
PHP:
<a href=\"message.php?mess=$messagetext\">..message...</a>
weiter
 
htmlspecialchars() ist eine nützliche Funktion, sie wandelt alle Sonderzeichen in html um und du kannst die Daten problemlos wieder auslesen.

also
PHP:
  insert into...
 values
 '".htmlspecialchars($_POST['dein_feld'])."'
 ....
 
Zurück