我有一个标准的oscommerce安装,当会话变量包含多字节字符(例如日语)时,它会创建错误“Warning:session_start():尝试销毁未初始化的会话”。堆栈跟踪没有解释导致问题的原因,除了它是由以下语句中的会话类文件引起的:
...
return session_start();
错误是由这样的变量引起的:
$shipping['method'] = {Japanese character string}
tep_start_session('shipping');
...然后在每个后续页面加载时都会遇到错误。
任何想法都非常感谢!
答案 0 :(得分:0)
原来这是由oscommerce中一个复杂的原因引起的。我在其他国际网站上发现了同样的错误,因此我认为我会发布答案,因为其他地方讨论的信息很少。
许多变量存储在会话中,可以存储在MySQL数据库中。
因此,必须将MySQL数据库中“会话”表的排序规则更改为utf8_general_ci,以便在数据库存储的会话中正确存储和检索多字节字符。