ich habe für eine Seite die Kommentar-Funktion in den News so umgebaut, dass diese per Ajax-Request geladen werden.
Jetzt ist es aber leider so, dass beim Posten eines Kommentares, welcher einen Smily enthält, dieser nicht als Smily angezeigt wird, sondern als Text, also zb ":D"
Diese genannte Seite ist UTF-8 kodiert.
Ich habe den selben Umbau bereits auf meiner Seite getätigt, dort klappt das einwandfrei. Meine Seite ist ISO-8859-1 kodiert.
Könnte es generell mit der Kodierung zu tun haben?
Oder hat jemand eine Idee, was das Problem sein könnte? Eventuell findet sich auch jemand, der mir per Teamviewer mal über die Schultern schaut?
Hier mal der Code meiner Request-Datei:
<?php # Copyright by: Outi # Support: www.ilch.de defined('main') or die('no direct access'); switch($menu->get(2)) { case 'add': $success = false; if (empty($_POST['txt'])) { $errorMsg = 'Kein Text vorhanden'; } else { $errorMsg = 'Unbekannter Fehler'; } if ((loggedin() OR chk_antispam('newskom')) AND $allgAr['Nukoms'] == 1 AND !empty($_POST['name']) AND !empty($_POST['txt'])) { $nid = escape($_POST['nid'], 'integer'); $txt = escape(utf8_decode($_POST['txt']), 'string'); $name = escape(utf8_decode($_POST['name']), 'string'); if (checkName($name) or loggedin()) { if (loggedin()) { $name = $_SESSION['authname']; } db_query("INSERT INTO `prefix_koms` (`uid`,`cat`,`name`,`text`,`date`) VALUES (" . $nid . ",'NEWS','" . $name . "','" . $txt . "', '" . time() . "')"); $success = true; ob_start(); $tpl = new tpl('news'); renderComments($nid, $tpl); $comments = ob_get_clean(); } else { $errorMsg = 'Dieser Name ist bereits an einen User vergeben, benutze bitte einen anderen.'; } } $response = array( 'comments' => utf8_encode($comments), 'success' => $success, 'errorMsg' => $errorMsg ); echo json_encode($response); exit; break; } /** * Stellt Newskommentare dar * @global type $lang * @param type $nid * @param tpl $tpl */ function renderComments($nid, tpl $tpl) { global $lang; $erg1 = db_query("SELECT k.text, k.date, k.name, k.id, k.editname, k.editdate, u.avatar, u.id as uid FROM `prefix_koms` AS k LEFT JOIN `prefix_user` AS u ON k.name = u.name WHERE uid = " . $nid . " AND cat = 'NEWS' ORDER BY id DESC"); $ergAnz1 = db_num_rows($erg1); if ($ergAnz1 == 0) { echo '<b>' . $lang['nocomments'] . '</b>'; } else { $zahl = $ergAnz1; $side = 'right'; while ($row1 = db_fetch_assoc($erg1)) { $row1['text'] = bbcode(trim($row1['text'])); if (has_right(- 7, 'news') OR $row1['name'] == $_SESSION['authname']) { $del = '<a data-nid="' . $nid . '" data-cid="' . $row1['id'] . '" data-username="' . $row1['name'] . '" href="#" class="del-comment"><img src="include/images/icons/del.gif" alt="löschen" border="0" title="löschen" /></a>'; } else { $del =''; } $side = ($side == 'right' ? 'left' : 'right'); $side2 = ($side == 'left' ? 'right' : 'left'); if ($_SESSION['authname'] == $row1['name'] OR has_right(-7, 'news')) { $edit = '<a data-nid="' . $nid . '" data-cid="' . $row1['id'] . '" href="#" class="edit-comment"><img src="include/images/icons/edit.gif" alt="bearbeiten" border="0" title="bearbeiten" /></a>'; } else { $edit = ''; } if ($row1['uid']) { $ulink = '<a href="index.php?user-details-'.$row1['uid'].'">'; $ulink2 = '</a>'; } else { $ulink = ''; $ulink2= ''; } if ( file_exists($row1['avatar'])) { $avatar = $row1['avatar']; } else { $avatar = 'include/images/avatars/gast.png'; } // if (!empty($row1['editname']) AND !empty($row1['editdate'])) { // $lastedit = '<br><br>Zuletzt modifiziert von '.$row1['editname'].' am '.date('d.m.Y | H:i',$row1['editdate']); // } else { // $lastedit = ''; // } $tpl->set_ar_out(array( 'NAME' => $row1['name'], 'TEXT' => $row1['text'], 'CID' => $row1['id'], 'ZAHL' => $zahl, 'ULINK' => $ulink, 'ULINK2' => $ulink2, 'CDATE' => date('d.m.Y | H:i \U\h\r',$row1['date']), 'SIDE' => $side, 'SIDE2' => $side2, 'DEL' => $del, 'EDIT' => $edit, // 'lastedit' => $lastedit, 'AVATAR' => $avatar ), 4); $zahl--; } } }
Kleiner Nachtrag: BBCode funktioniert.
Danke schon mal...
Grüße Outi
verwendete ilch Version: 1.1 P
Kann geschlossen werden, Mairu hat geholfen!!! Danke dafür!!!
Zuletzt modifiziert von Outi77 am 14.05.2015 - 10:33:17