Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
| ticket [2010/07/30 07:51] – gerald | ticket [2024/02/29 13:36] (aktuell) – Externe Bearbeitung 127.0.0.1 | ||
|---|---|---|---|
| Zeile 50: | Zeile 50: | ||
| [[ticket: | [[ticket: | ||
| - | |||
| - | |||
| - | Problem: Aus dem Subject verschwinden die Umlaute und im Body werden die Umlaute falsch dargestellt. | ||
| - | |||
| - | Lösung zu Subject: | ||
| - | |||
| - | Umlaute in Subjectzeile. Datenbank-Zeichentabelle ändern: | ||
| - | < | ||
| - | ALTER TABLE `ost_ticket` CHANGE `subject` `subject` VARCHAR( 64 ) CHARACTER SET latin1 DEFAULT '[no subject]' | ||
| - | </ | ||
| - | |||
| - | |||
| - | Die Umlaute im Body korrekt darzustellen, | ||
| - | |||
| - | Zuerst die Datei include/ | ||
| - | < | ||
| - | @mysql_query(' | ||
| - | @mysql_query(' | ||
| - | </ | ||
| - | |||
| - | ändern in: | ||
| - | < | ||
| - | @mysql_query(' | ||
| - | @mysql_query(' | ||
| - | </ | ||
| - | |||
| - | Jetzt werden alle Nachrichten korrekt dargestellt. Allerdings werden neu empfangene Nachrichten jetzt auch lach latin1 konvertiert und in der Datenbank falsch gespeichert (und dann natürlich auch falsch dargestellt; | ||
| - | |||
| - | Um das zu beheben, die Datei / | ||
| - | < | ||
| - | $sql=' | ||
| - | ', | ||
| - | ', | ||
| - | ', | ||
| - | ', | ||
| - | ', | ||
| - | ', | ||
| - | |||
| - | </ | ||
| - | |||
| - | Eine Zeile ändern (nämlich die, die die Nachricht speichert): | ||
| - | < | ||
| - | ', | ||
| - | </ | ||
| - | |||
| - | Jetzt sollte es gehen. | ||
| - | |||
| - | Problem: Wenn eine Vorlage aus Vorlagendatenbank (Knowlage Base /KB) geholt wird (per Ajax), dann stimmen die Umlaute wieder nicht. | ||
| - | |||
| - | Lösung: In der Datenbank werden die Umlaute korrekt gespeichert (Tabelle ist Latin1); auch beim Editieren werden sie korrekt dargestellt. Aber nicht, wenn sie via Ajax kommen (liegt wahrscheinlich an dem UTF8 von Ajax; allerdings ist das HTML-Dokument auch UTF8 :( ) | ||
| - | |||
| - | Geholfen hat es, folgende Zeile in die / | ||
| - | Aus: | ||
| - | < | ||
| - | $sql=' | ||
| - | if(($res=db_query($sql)) && db_num_rows($res)) | ||
| - | list($response)=db_fetch_row($res); | ||
| - | </ | ||
| - | |||
| - | wird | ||
| - | < | ||
| - | | ||
| - | if(($res=db_query($sql)) && db_num_rows($res)) | ||
| - | list($response)=db_fetch_row($res); | ||
| - | $response = utf8_encode($response); | ||
| - | </ | ||
| - | |||
| - | Problem: Umlaute werden bei der gesendeten Nachricht falsch dargestellt (also beim Empfänger). | ||
| - | |||
| - | Geholfen hat es, in der / | ||
| - | < | ||
| - | //do some cleanup | ||
| - | $eol=" | ||
| - | $to=preg_replace("/ | ||
| - | $subject=stripslashes(preg_replace("/ | ||
| - | $body = stripslashes(preg_replace("/ | ||
| - | $fromname=$this-> | ||
| - | $from =sprintf('" | ||
| - | $headers = array (' | ||
| - | ' | ||
| - | ' | ||
| - | ' | ||
| - | ' | ||
| - | ' | ||
| - | ' | ||
| - | ); | ||
| - | $mime = new Mail_mime(); | ||
| - | $mime-> | ||
| - | // | ||
| - | if($attachment && $attachment[' | ||
| - | $mime-> | ||
| - | } | ||
| - | $options=array(' | ||
| - | ' | ||
| - | ' | ||
| - | ' | ||
| - | ' | ||
| - | //encode the body | ||
| - | $body = utf8_decode($body);// | ||
| - | $body = $mime-> | ||
| - | </ | ||
| | | ||