Index: typo3/sysext/rtehtmlarea/class.tx_rtehtmlarea_base.php =================================================================== --- typo3/sysext/rtehtmlarea/class.tx_rtehtmlarea_base.php (révision 6629) +++ typo3/sysext/rtehtmlarea/class.tx_rtehtmlarea_base.php (copie de travail) @@ -809,7 +809,7 @@ /*]]>*/ '; $loadJavascriptCode .= ' - + '; return $loadJavascriptCode; @@ -1107,7 +1107,13 @@ * @return string nested JS array definition */ function buildNestedJSArray($conf) { - return str_replace(array(':"0"', ':"\/^(', ')$\/i"', ':"\/^(', ')$\/"', '[]'), array(':false', ':/^(', ')$/i', ':/^(', ')$/', '{}'), json_encode(t3lib_div::removeDotsFromTS($conf))); + $convertedConf = t3lib_div::removeDotsFromTS($conf); + if ($this->is_FE()) { + $GLOBALS['TSFE']->csConvObj->convArray($convertedConf, ($GLOBALS['TYPO3_CONF_VARS']['BE']['forceCharset'] ? $GLOBALS['TYPO3_CONF_VARS']['BE']['forceCharset'] : 'iso-8859-1'), 'utf-8'); + } else { + $GLOBALS['LANG']->csConvObj->convArray($convertedConf, $GLOBALS['LANG']->charSet, 'utf-8'); + } + return str_replace(array(':"0"', ':"\/^(', ')$\/i"', ':"\/^(', ')$\/"', '[]'), array(':false', ':/^(', ')$/i', ':/^(', ')$/', '{}'), json_encode($convertedConf)); } /** @@ -1119,11 +1125,7 @@ $JSLanguageArray = 'var HTMLArea_langArray = new Object();' . chr(10); $labelsArray = array('tooltips' => array(), 'msg' => array(), 'dialogs' => array()); foreach ($labelsArray as $labels => $subArray) { - if ($this->is_FE()) { - $LOCAL_LANG = t3lib_div::readLLfile('EXT:' . $this->ID . '/htmlarea/locallang_' . $labels . '.xml', $this->language, $this->OutputCharset); - } else { - $LOCAL_LANG = $GLOBALS['LANG']->readLLfile(t3lib_extMgm::extPath($this->ID).'htmlarea/locallang_' . $labels . '.xml'); - } + $LOCAL_LANG = t3lib_div::readLLfile('EXT:' . $this->ID . '/htmlarea/locallang_' . $labels . '.xml', $this->language, 'utf-8'); if (!empty($LOCAL_LANG[$this->language])) { $LOCAL_LANG[$this->language] = t3lib_div::array_merge_recursive_overrule($LOCAL_LANG['default'], $LOCAL_LANG[$this->language]); } else { @@ -1200,20 +1202,7 @@ $extensionKey = is_object($this->registeredPlugins[$plugin]) ? $this->registeredPlugins[$plugin]->getExtensionKey() : $this->ID; $linebreak = $GLOBALS['TYPO3_CONF_VARS']['EXTCONF'][$this->ID]['enableCompressedScripts'] ? '' : chr(10); $JSLanguageArray = ''; - - if ($this->is_FE()) { - $fileRef = 'EXT:' . $extensionKey . '/htmlarea/plugins/' . $plugin . '/locallang.xml'; - } else { - $fileRef = t3lib_extMgm::extPath($extensionKey).'htmlarea/plugins/' . $plugin . '/locallang.xml'; - } - $file = t3lib_div::getFileAbsFileName($fileRef); - if (@is_file($file)) { - if ($this->is_FE()) { - $LOCAL_LANG = t3lib_div::readLLfile($fileRef, $this->language, $this->OutputCharset); - } else { - $LOCAL_LANG = $GLOBALS['LANG']->readLLfile(t3lib_extMgm::extPath($extensionKey).'htmlarea/plugins/' . $plugin . '/locallang.xml'); - } - } + $LOCAL_LANG = t3lib_div::readLLfile('EXT:' . $extensionKey . '/htmlarea/plugins/' . $plugin . '/locallang.xml', $this->language, 'utf-8'); if (is_array($LOCAL_LANG)) { if (!empty($LOCAL_LANG[$this->language])) { $LOCAL_LANG[$this->language] = t3lib_div::array_merge_recursive_overrule($LOCAL_LANG['default'],$LOCAL_LANG[$this->language]);