微小而强烈的俄罗斯问题

时间:2018-03-13 08:00:59

标签: php collation opentbs tinybutstrong

使用的插件:http://www.tinybutstrong.com/plugins.php 俄语字符显示不正确。
在mysql数据库中,它们存储正确collat​​ion是utf8_general_ci。

我使用了define('OPENTBS_ALREADY_UTF8','already_utf8');

1 个答案:

答案 0 :(得分:2)

看起来像是UTF-8问题。

您必须检查所有数据链是否为UTF-8:

  • 所有PHP脚本
  • 注入模板(通常是数据库)中的数据,但您还必须检查PHP脚本是否将数据检索为UTF8。见«How do I make MySQL return UTF-8?»
  • 模板(实际上是UTF8,因为它是LibreOffice或Ms Office模板)

由于此链正常,您必须使用OPENTBS_ALREADY_UTF8选项加载模板。

$TBS->LoadTemplate('my_template.odt', OPENTBS_ALREADY_UTF8);

您可以通过以下测试检查链是否正常:

echo "<!doctype html><html><head><title>Test</title><meta charset='UTF-8'></head><body>";
echo $my_data_from_database;
echo "</body></html>";
exit;

其中$my_data_from_database是从数据库中检索的数据项,包含俄语字符等特殊字符。