我将一个Joomla 1.5网站改为2.5,几乎一切都很顺利,但我正在与一个角色的展示作斗争.在现场网站上有一些文字,如“You Agency guys are twisted.”,它显示正常,但在转换后的网站上,相同的数据库文章显示如下 你们的代理人都是扭曲的.
现在,我已经验证了这两个元素具有完全相同的计算样式.但感觉就像字体问题.这可能是Joomla 2.5如何编码这个角色的问题吗?
编辑1
评论结束后,我去验证了数据库.我发现旧数据库的character_set_database是latin1而不是utf8,所以我运行了这个语句:
alter database my_database default charset latin1;
现在所有字符集变量在两个数据库之间排列.此外,我验证了页面的字符集是utf-8,因为它发出了这个< metadata>标签:
<meta http-equiv="content-type" content="text/html; charset=utf-8">
但是,字符仍然无法正常显示.
编辑2
我也尝试将我的default_charset设置为PHP的utf-8:
default_charset = "utf-8"
在添加该行之前,甚至没有设置,所以它将是我猜测的Apache默认值.
编辑3
我现在还验证了index.php文件有一个Content-Type标题为text / html;字符集= UTF-8.但是,这些特殊字符仍然没有正确显示.
解决方法:
尝试先运行此查询:
mysql_query("SET NAMES 'utf8'");
我最后一次遇到字符集问题是因为即使其他所有内容都是UTF-8(提供的HTML,我编写的代码,数据库表等),数据库连接仍然在另一个字符集中传递所有内容.这应该解决这个问题.
编辑:正如下面的@ null.point3r所提到的,使用以下代码是一个更好的选择,因为转义字符串可能仍然使用错误的编码:
$mysqli->set_charset('utf8')
标签:php,mysql,joomla,joomla2-5 来源: https://codeday.me/bug/20190716/1478622.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。