Probleme mit Umlauten

Du hast Probleme beim Einbau oder bei der Benutzung eines Mods? In diesem Forum bist du richtig.
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
maxwell112
Mitglied
Beiträge: 7
Registriert: 06.03.2008 10:31

Probleme mit Umlauten

Beitrag von maxwell112 »

Hallo,

ich verwende in meinem CMS Joomla die Komponente Jumi um folgendes PHP Skript auszugeben:
<?php


// ############ Edit below ########################################
$topic_length = '35'; // length of topic title
$topic_limit = '5'; // limit of displayed topics
$special_forums = '1'; // specify forums ('0' = no; '1' = yes)
$forum_ids = '11,12,23,24,22'; // IDs of forums; separate them with a comma
$config_path = '/'; // path to config.php
$root_path = '/forum/'; // link path
// ############ Edit above ########################################


$path = dirname(__FILE__);
include_once($path.$config_path .'config.php');
mysql_connect($dbhost, $dbuser, $dbpasswd, true) OR die('Unable to select server.');
mysql_select_db($dbname) OR die('Unable to select database.');



// ############## output ##############
echo '<table border="0" cellpadding="0" cellspacing="0" style="width: 100%" id="Table_DSF-Top5">
<body text="#323232" link="#000000" vlink="#333333" alink="#333333">
<tr>
<td colspan="2"><span class="small"><font face="Verdana, Arial, Helvetica, sans-serif" style="font-size:12px;">
Die '. $topic_limit .' letzten Themen im Forum</font></span></td><br>
</tr>
<tr>

<td style="width: 40%"><span class="small">
<strong>
<font face="Verdana, Arial, Helvetica, sans-serif" style="font-size:11px">Thema</font></strong>
<font face="Verdana, Arial, Helvetica, sans-serif" style="font-size:9px"></font
</strong></span></td>
<td style="width: 30%"><span class="small">
<strong>
<font face="Verdana, Arial, Helvetica, sans-serif" style="font-size:11px">Bereich</font>
</strong>
<font face="Verdana, Arial, Helvetica, sans-serif" style="font-size:9px"></font
</strong></span></td>
<td style="width: 25%"><span class="small">
<strong>
<font face="Verdana, Arial, Helvetica, sans-serif" style="font-size:11px">Von</font>
</strong></span></td>
<td style="width: 5%"><span class="small"><strong>
<font face="Verdana, Arial, Helvetica, sans-serif" style="font-size:11px">Datum</font>
</strong>
<font face="Verdana, Arial, Helvetica, sans-serif" style="font-size:9px"></font
</strong></span></td>

</tr>';
// ############## output ##############

$where_forums = ( $special_forums == '0' ) ? '' : 't.forum_id NOT IN ('. $forum_ids .') AND ';
$sql = "SELECT t.*, f.forum_id, f.forum_name, u.username AS first_poster, u.user_id AS first_poster_id, u2.username AS last_poster, u2.user_id AS last_poster_id, p.post_username AS first_poster_name, p2.post_username AS last_poster_name, p2.post_time
FROM ". $table_prefix ."topics t, ". $table_prefix ."forums f, ". $table_prefix ."users u, ". $table_prefix ."posts p, ". $table_prefix ."posts p2, ". $table_prefix ."users u2
WHERE $where_forums t.topic_poster = u.user_id AND f.forum_id = t.forum_id AND p.post_id = t.topic_first_post_id AND p2.post_id = t.topic_last_post_id AND u2.user_id = p2.poster_id
ORDER BY t.topic_last_post_id DESC LIMIT $topic_limit";
$result = mysql_query($sql);
if( !$result )
{
die('SQL Statement Error: '. mysql_error());
exit();
}

$line = array();
while( $row = mysql_fetch_array($result) )
{
$line[] = $row;
}

for( $i = 0; $i < count($line); $i++ )
{
$forum_id = $line[$i]['forum_id'];
$forum_url = $root_path .'viewforum.php?f='. $forum_id;
$topic_id = $line[$i]['topic_id'];
$topic_url = $root_path .'viewtopic.php?t='. $topic_id;

$topic_title = ( strlen($line[$i]['topic_title']) < $topic_length ) ? $line[$i]['topic_title'] : substr(stripslashes($line[$i]['topic_title']), 0, $topic_length) .'...';

$topic_type = ( $line[$i]['topic_type'] == '2' ) ? 'Announcement ': '';
$topic_type .= ( $line[$i]['topic_type'] == '3' ) ? 'Global Announcement ': '';
$topic_type .= ( $line[$i]['topic_type'] == '1' ) ? 'Sticky ': '';
$topic_type .= ( $line[$i]['topic_vote'] ) ? 'Poll ': '';

$views = $line[$i]['topic_views'];
$replies = $line[$i]['topic_replies'];

$first_time = date('d.m.Y', $line[$i]['topic_time']);
$first_author = ( $line[$i]['first_poster_id'] != '-1' ) ? '<a href="'. $root_path .'profile.php?mode=viewprofile&u='. $line[$i]['first_poster_id'] .'" target="_blank">'. $line[$i]['first_poster'] .'</a>' : ( ($line[$i]['first_poster_name'] != '' ) ? $line[$i]['first_poster_name'] : 'guest' );
$last_time = date('d.m.Y', $line[$i]['post_time']);
$last_author = ( $line[$i]['last_poster_id'] != '-1' ) ? $line[$i]['last_poster'] : ( ($line[$i]['last_poster_name'] != '' ) ? $line[$i]['last_poster_name'] : 'guest' );
$last_url = '<a href="'. $root_path .'viewtopic.php?p='. $line[$i]['topic_last_post_id'] .'#'. $line[$i]['topic_last_post_id'] .'" target="_blank">'. $last_author .'</a>';

// ############## output ##############

echo '<tr>
<td style="width: 40%"><a href="'. $topic_url .'" target="_blank">
<font face="Verdana, Arial, Helvetica, sans-serif" style="font-size:11px">'. $topic_title .'</font></a></td>
<td style="width: 30%"><a href="'. $forum_url .'" target="_blank">
<font face="Verdana, Arial, Helvetica, sans-serif" style="font-size:11px">'. $line[$i]['forum_name'] .'</font></a></td>
<td style="width: 25%">
<font face="Verdana, Arial, Helvetica, sans-serif" style="font-size:11px">'. $last_url .'</font></td>
<td style="width: 5%">
<font face="Verdana, Arial, Helvetica, sans-serif" style="font-size:11px">'. $last_time .'</font></td>


</tr>';

// ############## output ##############
}

echo '</table>';
mysql_close();
?>
Das Skript zeigt die letzten Posts meines PHPBB3 Forums. Das funktioniert soweit ganz gut. Allerdings musste ich beim Zugriff auf die Datenmbank den Zusatz "true" einfügen, weil Joomla und phpbb zwei verschiedene Datenbanken verwenden. Füge ich das "true" nicht ein, kann Joomla nicht mehr auf seine DB Zugreifen und manche Komponenten funktionieren nicht mehr.
mysql_connect($dbhost, $dbuser, $dbpasswd, true) OR die('Unable to select server.');
Soweit so gut, bis auf die Kleinigkeit, dass jetzt Umlaute nicht mehr richtig dargestellt werden. Ohne das "true" werden die Umlaute korrekt angezeigt.
[ externes Bild ]

Hat jemand eine Idee, wie ich es hinbekomme, das die Umlaute wieder richtig angezeigt werden? Oder gibt es statt dem true noch eine andere Möglichkeit, eine zweite Verbindung zu einer DB herzustellen?
Ibn-Sallam
Mitglied
Beiträge: 108
Registriert: 06.02.2008 11:00

Beitrag von Ibn-Sallam »

bei mir ging im acp die umlaute auch nicht, als ich dort ne link zur Portal Übersicht hinzugefügt habe, habe die in html sprache umgewandelt und dan ging also für ü z.b. &ouml; oder so ...
Benutzeravatar
redbull254
Ehemaliges Teammitglied
Beiträge: 10379
Registriert: 05.01.2006 13:01
Kontaktdaten:

Beitrag von redbull254 »

Ibn-Sallam hat geschrieben:bei mir ging im acp die umlaute auch nicht, als ich dort ne link zur Portal Übersicht hinzugefügt habe, habe die in html sprache umgewandelt und dan ging also für ü z.b. &ouml; oder so ...
UTF-8 ohne BOM heißt das "Zauberwort" und wird von Editoren wie Notepad++ unterstützt. ;-)

Der Windoof Editor unterstützt dies nicht und sollte auf keinen Fall zum Editieren von Foren-Dateien benutzt werden.

Mit UTF-8 ohne BOM wird aus hinzugefügt ==>hinzugefügt
Beste Grüße
Walter
Antworten

Zurück zu „[3.0.x] Mod Support“