Frage

ich diesen Wert in einer MySQL-Datenbank haben: "A +" es ist der Name einer Zeitschrift. Ich sehe es in der Datenbank sitzen, aber ich kann nicht verwalten, um es über PHP angezeigt zu haben. Wenn ich die SQL-Daten holen, es gibt

"A"

Ich habe versucht, utfencode () utfdecode () htmlentities () ... ohne Erfolg. Ich verstehe nicht, das Problem zu diagnostizieren. Für den Fall, es wichtig ist, hole ich diese Daten über Ajax (jquery load () Funktion)

UPDATE:

Es stellt sich heraus das Zeichen + entfernt wird, während die Daten durch einen regulären Ausdruck Parsen. kann auch nicht für das scheint eine Lösung zu finden. preg_quote () ist nicht von Nutzen.

War es hilfreich?

Lösung

Es ist möglich, dass Jquery es als URL interpretiert codierte Zeichen ‚+‘, der als Raum interpretiert werden kann. Stellen Sie einen Code und ich bin sicher, dass jemand Ihnen eine vollständige Antwort geben kann.

Andere Tipps

Das + Zeichen wird als Raum interpretiert, wenn die Daten als application/x-www-form-urlencoded :

  

Dies ist der Standard-Inhaltstyp. Formulare mit diesem Inhaltstyp eingereicht werden, müssen wie folgt codiert werden:

     
      
  1. Steuer Namen und Werte sind entkommen. Leerzeichen werden durch ‚+ ersetzt und dann reservierte Zeichen entgangen sind, wie in [RFC1738], Abschnitt 2.2: Nicht-alphanumerische Zeichen ersetzt werden durch ‚%HH‘, ein Prozentzeichen und zwei Hexadezimalziffern die den ASCII-Code des Zeichens. Zeilenumbrüche werden als "CR LF" -Paare dargestellt (d.h. '%0D%0A').
  2.   
  3. Die Steuer Namen / Werte werden in der Reihenfolge, wie sie im Dokument erscheinen aufgeführt. Der Name stammt von dem Wert von ‚=‘ getrennt und Name / Wert-Paare sind voneinander durch ‚&‘ getrennt.
  4.   

Also muss man es richtig kodieren. In JavaScript verwenden, um die encodeURIComponent Funktion, wenn Sie + Zeichen in einem URI verwenden möchten:

"http://www.example.com/?q=" + encodeURIComponent("A+")

Haben Sie es als Javascript-Parameter übergeben, ohne urlencode () 'ing es?

Nun, da der einzige Weg ist, es Arbeit zu tun machen

echo urlencode("this is the A+ text");


Es funktioniert und scheint nicht den Rest des Textes zu beschädigen, aber ich verstehe nicht, die Logik dahinter. Wie auch immer, vielen Dank an alle diejenigen, die versucht, helfen.

Sie können ein Escape-Zeichen vor dem \ hinzufügen und sehen, wie das funktioniert. Wenn nicht die Felddaten konvertieren mit htmlentities

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top