/** * Sets character sets for the language key. * * @param string $languageKey * @param string $charset * @return void */ protected function setCharsets($languageKey, $charset) { $this->sourceCharset = $this->csConvObj->parse_charset($this->csConvObj->charSetArray[$languageKey] ? $this->csConvObj->charSetArray[$languageKey] : 'utf-8'); if ($charset) { $this->targetCharset = $this->csConvObj->parse_charset($charset); } else { $this->targetCharset = 'utf-8'; } }
/** * Converts a HTML document to utf-8 * * @param string HTML content, any charset * @param string Optional charset (otherwise extracted from HTML) * @return string Converted HTML */ public function convertHTMLToUtf8($content, $charset = '') { // Find charset: $charset = $charset ?: $this->getHTMLcharset($content); $charset = $this->csObj->parse_charset($charset); // Convert charset: if ($charset && $charset !== 'utf-8') { $content = $this->csObj->utf8_encode($content, $charset); } // Convert entities, assuming document is now UTF-8: $content = $this->csObj->entities_to_utf8($content, TRUE); return $content; }
/** * Converts the charset of the input string if applicable. * The "to" charset is determined by the currently used charset for the page which is "utf-8" by default or set by $GLOBALS['TSFE']->config['config']['renderCharset'] * Only if there is a difference between the two charsets will a conversion be made * The conversion is done real-time - no caching for performance at this point! * * @param string $str String to convert charset for * @param string $from Optional "from" charset. * @return string Output string, converted if needed. * @see t3lib_cs * @todo Define visibility */ public function csConv($str, $from = '') { if ($from) { $output = $this->csConvObj->conv($str, $this->csConvObj->parse_charset($from), $this->renderCharset, 1); return $output ? $output : $str; } else { return $str; } }