Zum Inhalt springen

Keine Umlaute mit GIFBUILDER

Erstellt am 17. August 2006 · 49 Antworten · letzte Antwort am 24. September 2010 · Seite 2 von 3

Tags: Bilder, Frage

Gunah ·

danke für die antworten hab die Lösung vorher schon von "BastianBalthasarBux" selber gebaut und da werden mit einer Funktion auch alle Daten umgewandelt

es funktioniert soweit auch alles ganz gut nur wird das kleien "Ü" nicht richtig angezeigt sobald ein n, s und ein paar andere wenn es alleine steht funtzt das oder bei anderen einpaar anderen Buchstaben
werde deins aber mal ausprobieren in dem ich das original verändere 😉
und das bist da denk ich mal Clemens Riccabona

zu Kitsunet... meinst du in der localconf.php utf8 einstellen... wenn ich das mache sind alle Sonderzeichen im Eimer im normalen text bei mir zumindest und wir haben jetzt schon zuviel zeit in Typo3 reingesteckt das wir es neu aufsetzten ...

MfG Gunah
EDIT: hab es nach der Anleitung gemacht von Bastian funktionierte leider nicht hab dann die funktion umgebaut...

die LÜCKE nach der Raute (#) weg machen...

function ricEncode($content) {
      /*$convmap = array(0x80, 0xff, 0, 0xff);
	  $charset=mb_detect_encoding($content, "auto");
      return mb_encode_numericentity($content,$convmap,$charset);*/
	  $array['search'] =array('Ä','ä','Ö','ö','Ü','ü');
	  $array['replace']=array('&# 196;','&# 228;','&# 214;','&# 246;','&# 220;','&# 252;');
	  return str_replace($array['search'],$array['replace'],$content);
    }

edit2: ich habs herrausgefunden der Server läuft komplett in Latin1 mysql als auch apach2... aber mit "meiner" funktion geht des och

semidark ·

Hallo zusammen,

hatte das selbe Problem und habe es mit der Lösung von Clemens Riccabona gelöst bekommen.

Da ich allerdings ungerne die Core-Files bearbeite habe ich das ganze in eine Extension namens cr_bugfix_5078 gepackt.

Die kann man im TER runterladen und dann funktionieren nach der Installation auch die Umlaute wieder mit normalen TTF Schriften.

Gruß Semidark

BastianBalthasarBux ·

Hallo Halbschwarzer!

Super Sache, die EXT, habs schon auf bugs.typo3.org gesehen
Finds auch total altruistisch von Dir, sie cr_ zu präfixen!
Werds die Tage mal testen, und natürlich bewerten! 😉

lg Clemens (R.) 😃

semidark ·

Hallo Clemens,

ich muss gestehen das ich alle meine extensions mit cr präfixe wegen meinem Firmennamen Creatible #paralyzed# . Was aber dein enorme Vorarbeit in keinster art und weise schmälern soll 😉

Habe gerade gesehen das die Extension nun im TER zu finden und habe zu meiner freude festgestellt das es bereits ein paar mal runtergeladen wurde.

Also hier noch ein bisserl mehr werbung 🙂
http://typo3.org/extensions/repository/view/cr_bugfix_5078/0.0.1/

Gruß Semidark

Unbekannter Benutzer ·

Vielen Dank, die Umlaute funktionieren prima.

Leider habe ich noch Probleme mit Sonderzeichen in Verbindung mit windngs2.ttf

Hier will ich das Zeichen £ nutzen. Es wird mit nur ein kleiner Rahmen angezeigt..... :-(

Könnt ihr mir helfen oder einen Tipp geben?

Ich habe alles auf UTF8 umgestellt.

Vielen Dank.

BastianBalthasarBux ·

tja, alle zeichen funzen damit nicht.
im moment hab ich auch noch ein problem mit kyrillisch.
man muss evtl. die conv-map erweitern.

hat jemand zufällig eine funktionierende convmap für kyrillisch?? 😃

kann dafür die für japanisch liefern. 😉

rizzla ·

Hervorragend - war genau das was ich gesucht habe um das Problem der fehlende / fehlerhaften Umlaute in gerendertem Text aus der Welt zu schaffen.

Danke für eure Mühe!

semidark ·

@ulrich,

wenn da ein Kästchen anstatt des Zeichens gerendert wird liegt es sehr warscheinlich am verwendeten Font.

Hast du Überprüft ob das Pfundzeichen im Font vorhanden ist?

@rizzla,
NP

Gruß Semidark

BastianBalthasarBux ·

Aus gegebenem Anlass (pm anfrage).
Ich habe meine ricEncode funktion upgedated, und nun sollts auch mit japanisch hinhauen.
Ich hoffe wir kriegen feedback.
Anbei die funktion, vielleicht könnt ma ja die ext updaten! 😉

function ricEncode($content) {
	    $enc = mb_detect_encoding($content, "auto");
            $convmap = array(
              0x0080, 0x00ff, 0, 0x00ff,
              0x0400, 0x04ff, 4, 0x04ff,
              0xe000, 0xe03e, 0x1040, 0xffff,
              0xe03f, 0xe0bb, 0x1041, 0xffff,
              0xe0bc, 0xe0fa, 0x1084, 0xffff,
              0xe0fb, 0xe177, 0x1085, 0xffff,
              0xe178, 0xe1b6, 0x10c8, 0xffff,
              0xe1b7, 0xe233, 0x10c9, 0xffff,
              0xe234, 0xe272, 0x110c, 0xffff,
              0xe273, 0xe2ef, 0x110d, 0xffff,
              0xe2f0, 0xe32e, 0x1150, 0xffff,
              0xe32f, 0xe3ab, 0x1151, 0xffff);
            return mb_encode_numericentity($content,$convmap, $enc);
        }

lgc

ps: ich such immernoch kyrillisch!!! also wenn jemand was weiss, her damit! 😉

BastianBalthasarBux ·

könntest die Änderungen auch noch in der gifbuilder ux nachziehen? derzeit ists nur in der stdgraphic drin.
simples beispiel: www.babelnet.at -> urban nomad -> oben das banner mit der schrift.

danke! lgc

btw: ich such immer noch kyrillisch! 😉

Forrest Gump ·

Hallo zusammen,

ich setzte mal meinen Post von hier #519908 in diesem Thread fort.

Auch ich hatte das Problem mit den Umlauten. Hinzu kam bei mir allerdings noch, dass die PHP-Funktion recode_string() bei mir nicht aktiviert ist, das ergibt einen Fehler im Install Tool - Image Processing - 5: GD library functions. Ich musste hier auf die PHP-Funktion iconv() ausweichen. Der Bugfix cr_bugfix_5078_0.0.1.t3x hat mir leider nicht weitergeholfen.

Ich habe allerdings eine Lösung für mich gefunden, die evtl. auch anderen weiterhelfen kann:

Als erstes habe ich die Funktion recode_string in der class.t3lib_stdgraphic.php lokalisert (Zeile 2013).

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

Da mein Typo3 komplett auf UTF-8 eingestellt ist, macht die Funktion eigentlich keinen Sinn, da sie von UTF-8 nach UTF-8 codiert, da ich ja auch TTFLocaleConv in der localconf.php auf UTF-8 eingestellt habe (Vielleicht steht deswegen ja auch "Deprecated" im Kommentar?). Der eingehende $string ist bei mir auf jeden Fall im UTF-8 Format. Ich kann es mit recode_string() leider nicht überprüfen, aber wenn ihr TTFLocaleConv im Install Tool od. in der localconf.php auf ISO-8859-15 einstellt, müssten die Umlaute eigentlich schon richtig angezeigt werden.

Für meine Situation musste ich den PHP-Code von oben ändern in:

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

$this->nativeCharset entspricht der Einstellung in der localconf.php
$TYPO3_CONF_VARS['BE']['forceCharset'] = 'utf-8';

$this->TTFLocaleConv entspricht der Einstellung in der localconf.php
$TYPO3_CONF_VARS['GFX']['TTFLocaleConv'] = 'ISO-8859-15';

Jetzt funktioniert es bei mir. Bitte schreibt mir was ihr davon haltet bzw. was ich nicht bedacht habe. Würd mich auch freuen zu hören, wenn's jemandem geholfen hat.

Beste Grüße Andreas

Infos:

### DEBUG SYSTEM INFORMATION - START ###
HTTP_USER_AGENT : Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14
HTTP_ACCEPT_LANGUAGE: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
CONST: PHP_OS : Linux
CONST: TYPO3_OS :
CONST: php_sapi_name: cgi-fcgi
OTHER: TYPO3_VERSION: 4.2.0
OTHER: PHP_VERSION : 5.2.0-8+etch10
imagecreatefromgif(): 1
imagecreatefrompng(): 1
imagecreatefromjpeg(: 1
imagegif() : 1
imagepng() : 1
imagejpeg() : 1
imagettftext() : 1
OTHER: IMAGE_TYPES : 15
OTHER: memory_limit : 32M
SERVER: SERVER_PORT : 80
SERVER: SERVER_SOFTW: Apache/2.2.3 (Debian) PHP/4.4.4-8+etch4
SERVER: GATEWAY_INTE: CGI/1.1
SERVER: PATH_TRANSLA:
T3CV_GFX: image_proc: 1
T3CV_GFX: gdlib : 1
T3CV_GFX: gdlib_png : 0
T3CV_GFX: gdlib_2 : 1
T3CV_GFX: im : 1
T3CV_GFX: im_path : /var/www/foobar/html/cgi-bin/im429/
T3CV_GFX: im_path_lz:
T3CV_GFX: im_version:
T3CV_GFX: im_negate_: 0
T3CV_GFX: im_imvMask: 0
T3CV_GFX: im_combine: combine
### DEBUG SYSTEM INFORMATION - END ###

localconf.php (Auszug): (Zeilenumbruch nach 100 Zeichen eingefügt, sonst müsste man im ganzen Thread horizontal scrollen.)

$TYPO3_CONF_VARS["SYS"]["compat_version"] = '4.2';
$TYPO3_CONF_VARS['BE']['elementVersioningOnly'] = '1';
$TYPO3_CONF_VARS['BE']['fileDenyPattern'] = '';
$TYPO3_CONF_VARS['BE']['fileExtensions']['webspace']['allow'] = 'php';
$TYPO3_CONF_VARS['BE']['fileExtensions']['webspace']['deny'] = '';
$TYPO3_CONF_VARS['BE']['forceCharset'] = 'utf-8';
$TYPO3_CONF_VARS['BE']['interfaces'] = 'backend,frontend';
$TYPO3_CONF_VARS['BE']['sessionTimeout'] = '36000';
$TYPO3_CONF_VARS['BE']['trackBeUser'] = '1';
$TYPO3_CONF_VARS['BE']['useOnContextMenuHandler'] = '0';
$TYPO3_CONF_VARS['EXT']['allowSystemInstall'] = '1';
$TYPO3_CONF_VARS['EXT']['extConf']['css_styled_content'] =
'a:2:{s:15:"setPageTSconfig";s:1:"1";s:19:"removePositionTypes";s:1:"1";}';  //  Modified or
inserted by TYPO3 Extension Manager.
$TYPO3_CONF_VARS['EXT']['extConf']['pixe_feediting'] =
'a:8:{s:7:"enable.";a:10:{s:12:"old_index_ts";s:1:"1";s:12:"fe_clipboard";s:1:"1";s:26:"allowFramesF
orPopUpWindows";s:1:"0";s:13:"TemplaVoilaFE";s:1:"0";s:21:"TemplaVoilaMoveUpDown";s:1:"0";s:14:"extr
a_fe_icons";s:1:"1";s:11:"addEditMenu";s:1:"1";s:12:"addEditPanel";s:1:"0";s:9:"userSetup";s:1:"0";s
:14:"changedBEForms";s:1:"0";}s:12:"section_list";s:292:"page_section|edit,new_page,move_page,histor
y,info,access,functions;content_section|new_contentelement,column_overview,list,new_record;media_sec
tion|file,images,dam_file,dam_upload,dam_index;miscellaneous_section|formsonpage,preview,user_setup,
open_backend,logout;help_section|help_about,typo3";s:8:"fe_theme";s:15:"modern_skin_new";s:23:"image
PathForFormsOnPage";s:0:"";s:22:"CSSFilesForFormsOnPage";s:6:"t3skin";s:17:"CSSForFormsOnPage";s:0:"
";s:8:"logoutId";s:2:"53";s:9:"subFolder";s:0:"";}';     // Modified or inserted by TYPO3 Extension
Manager.
$TYPO3_CONF_VARS['EXT']['extConf']['rtehtmlarea'] =
'a:18:{s:21:"noSpellCheckLanguages";s:23:"ja,km,ko,lo,th,zh,b5,gb";s:15:"AspellDirectory";s:15:"/usr
/bin/aspell";s:17:"defaultDictionary";s:2:"en";s:14:"dictionaryList";s:2:"en";s:20:"defaultConfigura
tion";s:120:"Minimal (Most features disabled. Administrator needs to enable them using TypoScript.
For advanced administrators
only.)";s:12:"enableImages";s:1:"0";s:20:"enableInlineElements";s:1:"0";s:24:"enableAccessibilityIco
ns";s:1:"0";s:16:"enableDAMBrowser";s:1:"0";s:18:"enableClickEnlarge";s:1:"0";s:22:"enableMozillaExt
ension";s:1:"1";s:14:"enableInOpera9";s:1:"1";s:16:"forceCommandMode";s:1:"0";s:15:"enableDebugMode"
;s:1:"0";s:23:"enableCompressedScripts";s:1:"0";s:20:"mozAllowClipboardURL";s:0:"";s:18:"plainImageM
axWidth";s:1:"0";s:19:"plainImageMaxHeight";s:1:"0";}';      // Modified or inserted by TYPO3
Extension Manager.
$TYPO3_CONF_VARS['EXT']['extConf']['skin_grey_2'] =
'a:14:{s:7:"enable.";a:13:{s:13:"TinyMCEStyles";s:1:"0";s:27:"allowCollapseExpandNavFrame";s:1:"1";s
:13:"ModuleIconSet";s:11:"modern_skin";s:17:"ModuleIconSetPath";s:0:"";s:14:"ModuleIconSize";s:2:"16
";s:7:"IconSet";s:11:"modern_skin";s:15:"stylesheetTheme";s:11:"modern_skin";s:19:"styleSheetFile_po
st";s:0:"";s:12:"own_CSS_file";s:3:"add";s:14:"ownCSSforUsers";s:1:"0";s:9:"userSetup";s:1:"0";s:10:
"newTopmenu";s:1:"0";s:19:"shortcutframe_ontop";s:1:"0";}s:17:"login_stylesheets";s:0:"";s:6:"random
";s:1:"0";s:13:"rotateImgPath";s:0:"";s:16:"changedIntroPage";s:1:"1";s:7:"onClick";s:1:"0";s:14:"st
yleSheetFile";s:0:"";s:17:"defaultMainModule";s:3:"web";s:14:"saveModuleInfo";s:1:"1";s:11:"maxSubIt
ems";s:1:"6";s:10:"leftOffset";s:2:"45";s:14:"subLabelLenght";s:1:"0";s:18:"dims_leftmenuframe";s:3:
"150";s:13:"dims_navframe";s:3:"220";}';    // Modified or inserted by TYPO3 Extension Manager.
$TYPO3_CONF_VARS['EXT']['extConf']['tm_shared_lib'] =
'a:2:{s:7:"enable.";a:5:{s:9:"userSetup";s:1:"0";s:12:"resetModules";s:1:"0";s:32:"allowHideWarningM
essagesAltIntro";s:1:"1";s:21:"dragndrop_for_tinyrte";s:1:"0";s:17:"allowMenuSwitcher";s:1:"0";}s:15
:"backendmenutype";s:12:"leftsidemenu";}';        // Modified or inserted by TYPO3 Extension
Manager.
$TYPO3_CONF_VARS['EXT']['extConf']['tt_news'] =
'a:15:{s:13:"useStoragePid";s:1:"1";s:13:"noTabDividers";s:1:"1";s:25:"l10n_mode_prefixLangTitle";s:
1:"1";s:22:"l10n_mode_imageExclude";s:1:"1";s:20:"hideNewLocalizations";s:1:"0";s:13:"prependAtCopy"
;s:1:"1";s:17:"requireCategories";s:1:"1";s:5:"label";s:5:"title";s:9:"label_alt";s:8:"datetime";s:1
0:"label_alt2";s:5:"short";s:15:"label_alt_force";s:1:"1";s:11:"treeOrderBy";s:5:"title";s:21:"categ
orySelectedWidth";s:1:"0";s:17:"categoryTreeWidth";s:1:"0";s:18:"categoryTreeHeigth";s:2:"30";}';      
// Modified or inserted by TYPO3 Extension Manager.
$TYPO3_CONF_VARS['EXT']['extList'] =
'aboutmodules,automaketemplate,belog,beuser,context_help,css_styled_content,extra_page_cm_options,fe
login,func_wizards,impexp,info_pagetsconfig,install,kb_md5fepw,kc_loginstatus,lorem_ipsum,lowlevel,p
hpmyadmin,pixe_feediting,rtehtmlarea,setup,simulatebe,sys_action,sys_note,t3skin,taskcenter,tm_share
d_lib,tsconfig_help,tstemplate,tstemplate_analyzer,tstemplate_ceditor,tstemplate_info,tstemplate_obj
browser,tt_news,viewpage,wizard_crpages,wizard_sortpages';
$TYPO3_CONF_VARS['FE']['debug'] = '0';
$TYPO3_CONF_VARS['FE']['disableNoCacheParameter'] = '0';
$TYPO3_CONF_VARS['FE']['lifetime'] = '3600';
$TYPO3_CONF_VARS['FE']['lockIP'] = '4';
$TYPO3_CONF_VARS['FE']['permalogin'] = '1';
$TYPO3_CONF_VARS['FE']['publish_dir'] = 'publish/';
$TYPO3_CONF_VARS['GFX']["im_path"] = '/var/www/foobar/html/cgi-bin/im429/';
$TYPO3_CONF_VARS['GFX']["im_path_lzw"] = '';
$TYPO3_CONF_VARS['GFX']['enable_typo3temp_db_tracking'] = '1';
$TYPO3_CONF_VARS['GFX']['gdlib_2'] = '1';
$TYPO3_CONF_VARS['GFX']['gif_compress'] = '0';
$TYPO3_CONF_VARS['GFX']['im_path_lzw'] = '';
$TYPO3_CONF_VARS['GFX']['im_version_5'] = '0';
$TYPO3_CONF_VARS['GFX']['jpg_quality'] = '70';
$TYPO3_CONF_VARS['GFX']['noIconProc'] = '0';
$TYPO3_CONF_VARS['GFX']['png_truecolor'] = '1';
$TYPO3_CONF_VARS['GFX']['thumbnails_png'] = '2';
$TYPO3_CONF_VARS['GFX']['TTFdpi'] = '96';
$TYPO3_CONF_VARS['GFX']['TTFLocaleConv'] = 'ISO-8859-15';
$TYPO3_CONF_VARS['SYS']['displayErrors'] = '1';
$TYPO3_CONF_VARS['SYS']['setDBinit'] = 'SET CHARACTER SET utf8;'.chr(10).'SET NAMES
utf8;'.chr(10).'SET SESSION character_set_server=utf8;';
$TYPO3_CONF_VARS['SYS']['sitename'] = 'TYPO3 4.2';
$TYPO3_CONF_VARS['SYS']['sqlDebug'] = '0';
$TYPO3_CONF_VARS['SYS']['systemLog'] = 'file,/var/www/foobar/html/_typo3/fileadmin/log/log.txt,2';
$TYPO3_CONF_VARS['SYS']['t3lib_cs_convMethod'] = 'iconv';
$TYPO3_CONF_VARS['SYS']['t3lib_cs_utils'] = 'iconv';
$TYPO3_CONF_VARS['SYS']['UTF8filesystem'] = '1';
$typo_db_extTableDef_script = 'extTables.php';
Forrest Gump ·

Hallo zusammen,

man, ich hab ja n dollen Provider, innerhalb eines Tages hat er mir recode_string() aktiviert.

Mein Tip für alle, die mit utf-8 arbeiten ($TYPO3_CONF_VARS['BE']['forceCharset'] = 'utf-8';): Lasst die Variable "$TYPO3_CONF_VARS['GFX']['TTFLocaleConv'] = '';" einfach leer. Dann werden die Schriftarten mit UTF-8 angesteuert und liefern die richtigen Zeichen. Der Code:

if ($this->TTFLocaleConv) {
  $string = recode_string($this->TTFLocaleConv,$string);
}

Wird dann einfach nicht mehr ausgeführt, dann braucht man auch keine Funktion recode_string(). Mein Patch von oben wäre damit auch überflüssig.

Gruß Andreas

bitte melden, sollte ich Müll erzählen.

BastianBalthasarBux ·

@forrest, forrest gump: du hast ein völlig anderes problem.

beim ursprünglichen problem nützt auch die ttflocaleconv leer lassen nix!

nur zur anmerkung. 😉

lgc

Forrest Gump ·

Hallo zusammen,

ich denke schon, dass ich hier eine Problemlösung für den Thread habe.

Thread: Keine Umlaute mit GIFBUILDER

hebi schrieb

Hallo, habe folgendes Problem:

Bei der Darstellung von grafischen Menüs oder grafischen Texten mit GIFBUILDER werden die deutschen Umlaute nicht richtig wiedergegeben. Wenn ich die Umlaute als HTML-Entitäten angebe, werden diese als solche ausgegeben (z.B. &uuml😉

In allen anderen Fällen (TMENU, usw.) ist die Anzeige aber in Ordnung.

Meine Versionen:
Typo3 4.0 auf SuSE 10.1

Weiß wer eine Lösung für das Problem?

ulrich.manns

Ich habe alles auf UTF8 umgestellt.

$TYPO3_CONF_VARS['BE']['forceCharset'] = 'utf-8';
$TYPO3_CONF_VARS['GFX']['TTFLocaleConv'] = '';

Damit werden die Schriftarten per Gifbuilder mit UTF-8 angesteuert und liefern die richtigen Ergebnisse, wenn die Zeichen in der Schriftart enthalten sind, und Umlaute und "ß" sind eindeutig in den Standard-Schriftarten enthalten. Wenn du eine kyrillische Tastatur hast und steuerst verdana.ttf an, wirst du wohl kaum kyrillische Zeichen bekommen, da musst du schon eine andere Schriftart ansteuern. Oder?

Gruß Andreas

BastianBalthasarBux ·

Also nochmal von vorne:
Der Fehler liegt in der gdlib/imagemagick, bzw. in der vorkompilierten version von php5 auf allen openSuSE Versionen von 10.0 bis mindestens 10.2.

Daher nützt es nichts das ttflocaleconf leerzulassen (das ist ja bei utf8 umstellung mal die grundvoraussetzung, daher gehe ich davon aus, dass dies bei allen ist). -> Das war aber offensichtlich dein ursprüngliches Problem.

Das problem wäre behebbar, wenn man die php5 neu kompiliert, was aber auf einem Produktivserver mit 15-20 Kunden eher uncool rüberkommt.

Weiters tritt das problem mit den neuesten gm versionen nicht mehr auf bei mir.

Zum Thema Schriftarten: Ob kyrillische Zeichen in der Schriftart vorhanden sind oder nicht, liegt natürlich an der schriftart selbst. Aber bei einer arial.ttf auf einem ms windows system sind sie mit sicherheit drin.