看起来您在浏览器中错过了字符集规范,
尝试添加<meta charset="UTF-8">
这在您的网页标题部分。我以前遇到过这样的问题,以 UTF -8 显示多语言文本,我也做了同样的事情来解决这个问题。
希望这可以帮助
BTW
对于 HTML 5<meta charset="UTF-8">
works
如果是 HTML 4
<meta http-equiv="Content-type" content="text/html;charset=UTF-8">
如果是 XML,您必须指定
<?xml version="1.0" encoding="UTF-8"?>
这里是您可以获得所有信息的地方
在 HTML 中声明字符编码 http://www.w3.org/International/questions/qa-html-encoding-declarations
有多种方法可以设置内容字符集,甚至您可以将服务器设置为始终呈现 utf-8 您可以在此处阅读以获取更多信息服务器设置 http://www.w3.org/International/O-HTTP-charset部分
EDIT : -
在评论区和大家交流后,
你的问题出在 Joomla 上
你通过放测试
网页中的字符集 ISO-8859 并且它有效,这清楚地证明您正在获取 ISO 格式的内容,而不是 UTF-8 格式的内容
我认为您的 mysql 数据库可能不是 UTF-8,这就是它向前面发送 ISO 文本的原因,您可以将数据库更改为 UTF-8 generic-ci 或 ISO latin1,这是可行的并且有效,我建议您将 DB 更改为 utf-8-general-ci 因为您已经有标题设置为 utf-8 的 html 页面,这将解决您的问题。
另外,如果您无法更改数据库,那么您已经知道它采用 ISO 字符集,因此将所有 Joomla 模板标头更改为 ISO 字符集。
看起来像这样
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
OR
in php
header('Content-Type: text/html; charset=iso-8859-1');
通过删除现有的字符集 utf-8 声明。