我正在尝试使用示例(MySQL data merge)从varchar(35)/ utf8_swedish_ci字段通过TBS(tinybutstrong)和PHP加载MySQL数据库中的数据。我的问题是,如果只有ascii字符在字段中,数据加载正常,但只要我添加一个像ö或ä这样的斯堪的纳维亚特殊字符,字段内容就会完全消失,行中的其他字段也会正确显示。
我的理解是TBS上的最新版本自动使用UTF-8编码(我有PHP.0的3.9.0)所以我认为它可以开箱即用。为了安全起见,我甚至将编码添加到模板中:
'$ TBS-> LoadTemplate(' mysql.html ' 'UTF-8');'但无济于事。
有人可以建议导致这种情况的原因。
答案 0 :(得分: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'