0

我正在尝试使用示例(MySQL 数据合并)通过 TBS(tinybutstrong)和 PHP 从 varchar(35) / utf8_swedish_ci 字段从 MySQL DB 加载数据。我的问题是,如果字段中只有 ascii 字符,则数据加载正常,但是只要我添加一个像 ö 或 ä 这样的斯堪的纳维亚特殊字符,字段内容就会完全消失,并且行中的其他字段会正确显示。

我的理解是 TBS 上的最新版本自动使用 UTF-8 编码(我有 PHP 5 的 3.9.0),所以我认为它可以开箱即用。为了安全起见,我什至将编码添加到模板中:

'$TBS->LoadTemplate('mysql.html','UTF-8');' 但无济于事。

有人可以请教是什么原因造成的。

4

1 回答 1

0

对于良好的 UTF-8 处理,链中的所有元素都必须是 UTF-8。

您必须确保您的模板是 UTF-8 :检查输入的文本和 HTML 元素<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

您必须确保所有 PHP 脚本都是 UTF-8 而不是 Ansi。

您还必须确保您的 MySQL 连接设置为接收 UTF-8 查询并返回 UTF-8 项目数据。例如,这可以通过查询 SQL 来完成:SET NAMES 'UTF8'

于 2015-06-05T00:22:38.157 回答