3

我有 2 个 php 文件。index.phppreview.php

在顶部index.php我有这个代码

<meta http-equiv='Content-Type' content='Type=text/html; charset=utf-8'>

当我尝试使用以下内容加载内容index.phppreview.php

function preview_content(id)
{

    var thebutton = '#previewButton';
    $(thebutton).hide();
    $('#preview_area').load('preview.php?id='+id);
}

加载了这样的字符的内容M�laga CF

我试图将相同的utf-8代码放在顶部,preview.php但没有任何改变。有没有办法用UTF-8字符集检索内容?

4

3 回答 3

1

请确定preview.php' 的编码是UTF-8. 您的编辑器的默认编码适用于新创建的文件,但如果您preview.php从其他地方复制它的编码可能会有所不同。还添加header('charset=utf-8');作为第一行preview.php可能会有所帮助。像这样;

<?php
header('charset=utf-8');
// your code below here
.
.
.

您也可以使用.ajax()和指定contentType来代替.load();

function preview_content(id)
{

    var thebutton = '#previewButton';
    $(thebutton).hide();
    $.ajax({
        data: { "id" : id },
        type: "GET",
        url: "preview.php",
        contentType: "application/x-www-form-urlencoded;charset=UTF-8",
        success: function(output) {
            $('#preview_area').html(output);
        }
    });
}
于 2012-12-06T10:14:21.013 回答
0

元内容属性没有“Type=”部分

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
于 2012-12-06T10:20:36.303 回答
0

Emre Erkan 的解决方案是正确的,但它需要在 "header('...')" 之前使用 "echo"

在 preview.php 的顶部添加以下行:

<?php
echo header('Content-Type: text/html; charset=utf-8'); 
?>

它在我的网站上工作

于 2013-06-19T03:55:09.113 回答