maskieren von "&" in MySQL db?

Alles, was MariaDB und MySQL betrifft, kann hier besprochen werden.

Re: maskieren von "&" in MySQL db?

Postby tobi berlin » 30. January 2010 18:18

Wiedmann wrote:Und welches PHP5 ist es dann genau auf dem Server? (MySQL muss dann auch noch mind. 5.0.7 sein).
Das habe ich eben leider noch nicht genau herausfinden können. Auf deren HP steht 4/5.
Ansonsten steht ja im Manual auch die Alternative, wie es auch ohne diese Funktion geht.

Ich habs mal mit
Code: Select all
mysql_query("SET character_set_results = 'utf8', character_set_client = 'utf8', character_set_connection = 'utf8', character_set_database = 'utf8', character_set_server = 'utf8'", $conn);

versucht, bekomme aber nen syntax error. Ich werd mich am Montag nochmal weiter eintüfteln. Fürs Wochenende ist mir das Thema jetzt zu nervig, ist schließlich ne Geschäftsangelegenheit... :D
tobi berlin
 
Posts: 16
Joined: 18. September 2009 01:29

Re: maskieren von "&" in MySQL db?

Postby Wiedmann » 30. January 2010 18:46

Das habe ich eben leider noch nicht genau herausfinden können.

phpinfo() kennst du?


Ich habs mal mit ... versucht, bekomme aber nen syntax error

Na, im Manual steht das aber ganz anders...
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Re: maskieren von "&" in MySQL db?

Postby tobi berlin » 01. February 2010 11:19

Merkwürdig...

phpinfo() gibt an: PHP Version 5.2.0-8+etch16
MySQL Client-Version: 5.0.32

aber function_exists('mysql_set_charset') ; ergibt, das die Funktion nicht existiert. Ich versuche jetzt noch herauszufinden, wie man den workaround hinbekommt. Meinst du den ersten Post auf der Seite (http://at.php.net/manual/de/function.mysql-set-charset.php):
Code: Select all
if (!function_exists('mysql_set_charset')) {
  function mysql_set_charset($charset,$dbh)
  {
    return mysql_query("set names $charset",$dbh);
  }
}
Ich bekomme das nicht hin. Nach meiner etwas rudimentären Programmiererfahrung stelle ich mir vor, man müsste das $charset durch jenes ersetzen, das man haben will, also 'utf8', aber wenn ich es an der ersten Stelle einsetze, gibt es einen syntaxerror, an der 2. Stelle passiert nichts. Ich habe es auch schon mit 'utf-8' und ohne ' ' versucht... Kannst du mir nochmal einen Hinweis geben bitte? :)

Ich habe gerade mit dem Provider geredet, und er hat mir empfohlen, die Funktionen utf8_decode ($...); und utf8_encode ($...); zu benutzen. Funktioniert aber auch nicht oder ich mache da etwas falsch, und ich versuche lieber erstmal noch, hier eine Lösung zu finden.


btw: wie bekommt man das Syntaxhighlightening im Code?
tobi berlin
 
Posts: 16
Joined: 18. September 2009 01:29

Re: maskieren von "&" in MySQL db?

Postby Wiedmann » 01. February 2010 12:26

Code: Select all
    return mysql_query("set names $charset",$dbh);

Nach der MySQL-Doku sollte das so aussehen:
Code: Select all
    return mysql_query("SET NAMES '{$charset}'", $dbh); 
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Re: maskieren von "&" in MySQL db?

Postby tobi berlin » 01. February 2010 14:29

Geht leider auch nicht. Oder ich habe es an der falschen Stelle stehn. Aber das muss *vor* der Funktion stehen, also in der Datei zum Verbingungsaufbau, die anderen mysql_querys stehen aber alle später in dem Ablauf.

Was ich auch nicht verstehe... wenn ich schon *weiß* dass es diese Funktion nicht gibt, dann braucht ich doch nicht die Abfrage. Dann bin ich aber wieder an der Stelle von oben. Mit anderen Worten, rein logisch müsste es doch ausreichen, wenn ich nur
Code: Select all
mysql_query("SET NAMES '{$charset}'", $dbh);
schreibe... oder? Bringt aber auch kein Resultat.

Ohmann, und das alles wegen eines einzigen Sonderzeichens... Kopf -> Tisch... wenn ich nicht wüsste, dass das alles auch allgem. Grundlage ist.


PS: -> pm
tobi berlin
 
Posts: 16
Joined: 18. September 2009 01:29

Previous

Return to MariaDB - MySQL

Who is online

Users browsing this forum: No registered users and 7 guests