我刚刚创建了我的第一个jQuery函数与实际工作的jQuery,但不幸的是字符编码(ä,ö,ü,ß,č,ć,å ,ø)是一场噩梦。jQuery:AJAX变音符号和特殊字符是一个混乱
我的文件和我的数据库都是UTF-8。我已经在ajax函数和PHP函数中尝试了许多选项,但都没有令人满意。
这是我的AJAX
var dataString = {
'name': name,
'mail': mail
// other stuff
}
$.ajax({
type: "POST",
url: "/post.php",
data: dataString,
contentType: "application/x-www-form-urlencoded;charset=UTF-8",
cache: false,
success: function(html){
// do stuff
}
我试图它而不的contentType: “应用程序/ X WWW的窗体-urlencoded;字符集= UTF-8” 和我试图包裹受影响的数据在encodeURIComponent()中,其中没有一个工作。
当我使用AJAX与ヶ辆()在我的PHP,我变音符号看起来像这样以纯文本格式: UE A,AE A,OE中,UE那张,AE澶,OEØ
而像这样在数据库: UE与Atilde;œ,AEÓOE和Atilde ;, UE与Atilde;¼,AEÃ&CURREN ;, OEØ
如果我不使用ヶ辆()而是使用mysql_real_escape_string()代替(或两者都不),但它们在纯文本中看起来不错,但它们在数据库中看起来很像: AEÃ,OEÃ,UEÃ,ÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃ
我一直在尝试大量的选项数小时,但我找不到可行的解决方案。到目前为止,我似乎拥有的唯一选择是让它们看起来像数据库中的一团糟,但如果需要编辑这些数据集,那将是非常不合适的。编码URL-
2010-03-29
rayne
+1
您最后的观察结果是否表明问题可能与数据库(也可能是PHP)而不是jQuery和AJAX有关? –
2010-03-29 15:32:48
+0
我试过改变我的数据库编码为latin1,但没有区别 –
2010-03-29 15:41:05