Php 使用ajax响应进行奇怪的编码
我需要使用Ajax函数将一个字符串从Jquery发送到我的javascript文件。问题是我在需要接收的字符串之前得到了一组奇怪的问号/钻石块Php 使用ajax响应进行奇怪的编码,php,javascript,jquery,html,character-encoding,Php,Javascript,Jquery,Html,Character Encoding,我需要使用Ajax函数将一个字符串从Jquery发送到我的javascript文件。问题是我在需要接收的字符串之前得到了一组奇怪的问号/钻石块 (function( $ ) { $.fn.CallPhpClass = function(className, functionName, parameters, destination) { return this.each(function() { if (destination
(function( $ )
{
$.fn.CallPhpClass = function(className, functionName, parameters, destination)
{
return this.each(function()
{
if (destination === undefined) {
destination = $(this);
};
$.ajax({
type : 'POST',
url : 'php/executer.php',
data : { className : className, functionName : functionName , parameters : parameters},
dataType:'text',
cache: false,
success : function(data) {
if (className == "User" && functionName == "logout")
{
getMenu();
return;
}
if (className == "User" && functionName == "login")
{
getMenu();
return;
}
if (className == "User" && functionName == "lastView")
{
$('#main-content').CallPhpClass(data, 'view');
return;
}
if (data.search('alert alert-error') != -1 || data.search('alert alert-success') != -1)
{
$('#main-content').CallPhpClass('User', 'lastView');
destination = $('#error-box');
}
if(destination != false)
{
destination.html(data);
}
},
error : function(data) {
console.info(data);
}
});
});
}
})
设置类的代码段是:
if (className == "User" && functionName == "lastView")
{
$('#main-content').CallPhpClass(data, 'view');
return;
}
通过firebug,我收到以下信息:
所有字符集都在UTF-8上,我不知道我做错了什么
有人能帮我吗
表示亲切的问候,在发送数据之前对数据使用utf8\u编码:
检查元标记的字符集
设置executer.php文件的响应头
header('Content-Type:text/html;charset=UTF-8')代码>
在发送Ajax请求时,使用contentType
并传递字符集
$.ajax({
type : 'POST',
url : 'php/executer.php',
data : { className : className, functionName : functionName , parameters : parameters},
dataType:'text',
cache: false,
contentType: "application/json; charset=utf-8",
success : function(data) {
如果仍然不起作用,那么在包含js文件的同时,在
标记中尝试charset
<script type="text/javascript" src="myscripts.js" charset="UTF-8"></script>
这适用于西班牙语我们可以链接到您的网站吗?问题显然在您的PHP方面。请给我们看看它的代码。
setlocale(LC_TIME, "es_ES.UTF8");