Поскольку у меня возникла проблема тоже с latexrender, то напишу в эту же тему.
ПО:
Debian 6
apache+php+mysql
latex2.09
imagemagick
ghostscript
Описание проблемы: Не отображается кириллица после рендера.
K = {{U{вых}}\over{U{вх}}}=1+{{R2}\over{R1}}
прорисовывается так
Совершенные действия:
1. Исправление кодировок (иначе отображаются бракозябры)
а) в mysql на utf8 (формула изначально лежит в БД)
б) в генерируемом веб-файле
в) в самом latexrender правил файл
class.latexrender.php, поменяв в функции эти строки:
function wrap_formula($latex_formula) {
$string = "\documentclass[".$this->_font_size."pt]{".$this->_latexclass."}\n";
$string .= "\usepackage[latin1]{inputenc}\n";
$string .= "\usepackage{amsmath}\n";
$string .= "\usepackage{amsfonts}\n";
$string .= "\usepackage{amssymb}\n";
$string .= "\pagestyle{empty}\n";
$string .= "\begin{document}\n";
$string .= "$".$latex_formula."$\n";
$string .= "\end{document}\n";
return $string;
}
На эти:
function wrap_formula($latex_formula) {
$string = "\documentclass[".$this->_font_size."pt]{".$this->_latexclass."}\n";
$string .= "\usepackage[utf8]{inputenc}\n";
$string .= "\usepackage[T2A]{fontenc}\n";
$string .= "\usepackage[english,russian]{babel}\n";
$string .= "\usepackage{amsmath}\n";
$string .= "\usepackage{amsfonts}\n";
$string .= "\usepackage{amssymb}\n";
$string .= "\usefont{T2A}{fta}{m}{sl}";
$string .= "\pagestyle{empty}\n";
$string .= "\begin{document}\n";
$string .= "$".$latex_formula."$\n";
$string .= "\end{document}\n";
return $string;
}
г) самом нем же правил файл latex.php.
- $alt_latex_formula = htmlentities($latex_formula, ENT_QUOTES);
+ $alt_latex_formula = htmlentities($latex_formula, ENT_QUOTES,"UTF-8");
Последнюю правку ввел для правильного отображения (иначе опять же бракозябры)
Прошу Вас, помогите пожалуйста, 3 дня с утра до вечера голову ломаю как до ума довести. Вижу у вас на форуме все работает. =)