Zum Inhalt springen

Fehler im Install-Tool unter Punkt 5: GD library functions

Erstellt am 19. Oktober 2006 · 7 Antworten · letzte Antwort am 12. Mai 2008

Tags: PHP, Update & Upgrade, Frage

lemon ·

Hi Leute,

habe Typo3 4.0.2 am Laufen mit Imagemagick 4.2.9 (die statische Version). Beim Ausführen der Grafiktests erhalte ich unter Punkt 5 folgende Fehlermeldung:

Fatal error: Call to undefined function recode_string() in /home/www/mysite/typo3_src-4.0.2/t3lib/class.t3lib_stdgraphic.php on line 2009

Die selbe Meldung erhalte ich, wenn ich mein Frontend aufrufe, denn dort werden Grafiken für das Menü generiert.

Ich habe auf dem Server ein zweites Typo3-Projekt am Laufen, das dieselbe Source und dasselbe IM benutzt, ohne jegliche Probleme. Der Unterschied zwischen den beiden Projekten ist aber der, daß jenes Projekt, das den Fehler ausgibt, von 3.8.1 auf 4.0.2 upgedatet wurde. Das Backend funktoniert wunderbar, nur das Frontend will wegen des genannte Problems leider nicht funktionieren.
Hat jemand einen Tip für mich?

Viele Grüße

Lemon

GHG ·

Ich habe den Eintrag "UTF-8" im Install-Tool >> All Configuration >> TTFLocaleConv] = UTF-8 entfernt. Dann funktioniert wieder der Punkt 5 unter Image Processing.

Wie auch immer, vielleicht gibt es eine bessere Lösung.

GHG ·

Ich bin aber nicht sicher, ob sich das nun negativ auf den europäischen Zeichensatz auswirkt.

Daher würde ich diesen Thread noch für einge Zeit im Auge behalten. Vielleicht gibt es eine sichere Lösung.

TimeRaiser ·

Hallo,

Ich habe den Eintrag "UTF-8" im Install-Tool >> All Configuration >> TTFLocaleConv] = UTF-8 entfernt. Dann funktioniert wieder der Punkt 5 unter Image Processing.

Ist das noch immer die einzige Lösung? Müssen danach alle Seiten wieder auf ISO codiert werden?

Installiert ist bei mir:

Typo3 4.0.4
php 5.1.6-1ubuntu2.1
ii librecode0 3.6-12
mysql-server 5.0.24a-9

Es erscheint bei mir der Fehler

Fatal error: Call to undefined function recode_string() in /..../typo3_src-4.0.4/t3lib/class.t3lib_stdgraphic.php on line 2009

Forrest Gump ·

Typo3 4.2 UTF-8

Hi,

ich habe mir erst mal damit weiter geholfen, dass ich in der class.t3lib_stdgraphic.php (Zeile 2011)

  // Recode string accoding to TTFLocaleConv. Deprecated.
if ($this->TTFLocaleConv) {
  $string = recode_string($this->TTFLocaleConv,$string);
}

durch

  // Recode string according to TTFLocaleConv with iconv(). Deprecated. Try to batch.
if ($this->TTFLocaleConv) {
  $string = iconv($this->nativeCharset,$this->TTFLocaleConv,$string);
}

ersetzt habe.

Die Funktion recode_string() taucht noch einmal in der class.t3lib_cs.php in Zeile 629 auf, aber da in meiner localconf.php

$TYPO3_CONF_VARS['SYS']['t3lib_cs_convMethod'] = 'iconv';

gesetzt ist, dürfte die Funktion hier eigentlich nicht ausgeführt werden.

class.t3lib_cs.php ab Zeile 616:

  // PHP-libs don't support fallback to SGML entities, but UTF-8 handles everything
if ($toCS=='utf-8' || !$useEntityForNoChar) {
  switch($GLOBALS['TYPO3_CONF_VARS']['SYS']['t3lib_cs_convMethod']) {
  case 'mbstring':
    $conv_str = mb_convert_encoding($str,$toCS,$fromCS);
    if (false !== $conv_str)  return $conv_str; // returns false for unsupported charsets
    break;

  case 'iconv':
    $conv_str = iconv($fromCS,$toCS.'//TRANSLIT',$str);
    if (false !== $conv_str)  return $conv_str;
    break;

  case 'recode':
    $conv_str = recode_string($fromCS.'..'.$toCS,$str);
    if (false !== $conv_str)  return $conv_str;
    break;
  }
  // fallback to TYPO3 conversion
}

Leider habe ich immer noch Probleme Umlaute mit dem Gigbuilder korrekt darzustellen (das Rendering wird abgebrochen). Auch die Bugfix-Extension cr_bugfix_5078_0.0.1 hat mir leider nicht weitergeholfen. Da behelfe ich mir im Moment damit, dass ich im BE folgende Zeichen durch dahinterstehende HTML-Entities(?) austausche (ohne Leerzeichen):

Ä - &# 196;
ä - &# 228;
Ö - &# 214;
ö - &# 246;
Ü - &# 220;
ü - &# 252;
ß - &# 223;

Gruß Andreas

Aktualisiert:

Den Post führe ich hier weiter bzw. zu Ende #4832928, da es auch um die Darstellung der Umlaute mit dem Gifbuilder geht. Eine Lösung für meine Situation habe ich dort beschrieben.

Gruß Andreas