Apache一直强制使用非UTF-8字符集

时间:2015-04-01 13:14:05

标签: php mysql .htaccess encoding utf-8

我遇到了一个字符编码问题,网页在本地运行良好但一旦上传到远程服务器就无法正常工作。

我有一个简单的textarea,用于更新MySQL数据库行和一些UTF-8编码文本。这些页面是HTML5并使用utf-8编码。

<!doctype html>
<html>
<head>
<meta charset="UTF-8">
...

此外,我的数据库和表格使用 utf8数据库字符集 utf8_general_ci数据库整理进行编码。

当我提交表单并使用数据库中的信息查看更新的textarea时,我看到它有混乱的字符。在本地(但连接到同一个远程数据库),一切都很好。

这是textarea

<textarea class="form-control" name="info" required><?=htmlentities(getInfo($mysqli));?></textarea>

输出结果的功能

function getInfo ($mysqli) {
    if ($result = $mysqli->query("SELECT info FROM settings LIMIT 1")) {
        $row = $result->fetch_assoc();
        $result->free();
    }

    return $row["info"];
}

我的印象就像我的远程Web服务器以某种方式覆盖了charset信息,所以我尝试添加到我的.htaccess:

AddDefaultCharset utf-8

但这似乎没有用。

可能导致我的文字显示的可能原因是什么? enter image description here 这就是我在本地,SAME代码和SAME远程数据库中看到的内容。 enter image description here

在Chrome开发人员标签中的“网络”下,似乎“响应标头”正确无误:

Content-Type:text/html; charset=utf-8

0 个答案:

没有答案