Ajax:强制utf-8编码
ajax: force utf-8 encoding
我有一个UTF-8格式的网页,定义在head
<meta charset="utf-8" />
然后我有了外部.js文件,包含以下代码:
function ajax_db(){
$(document).ready(function(){
//some variables defined
$.ajax({
type:"POST",
url:"db.php",
data:"u="+uname+"&p="+pass+"&m=1",
dataType:"text",
contentType: "application/x-www-form-urlencoded;charset=utf-8",
success: function(reply){
$("#regstat").html("<p class='status'>"+reply+"</p>");
}
});
});
}
如您所见,请求转到db.php,如果m设置为1,并且没有填充所有字段,它在这里结束:
$mode = htmlspecialchars($_POST['m']);
//Mode: 1 - register, 0 - log in, 2 - log out
if ($mode == 1){
if (empty($_POST['u']) || empty($_POST['p']) || empty($_POST['email'])){
$reply = "Словенъска";
echo utf8_encode($reply);
exit;
}
//more code
}
问题是,它返回一些mojibake而不是文本。我尝试在任何可能的地方强制使用utf-8编码,我在db.php中放入以下行:
mb_internal_encoding( 'UTF-8' );
header("Content-type: text/html; charset=utf-8");
完全没有效果。此外,如果我删除utf8_encode()函数,将返回问号框,这应该表明没有使用utf-8。
问题出在哪里?
感谢您的宝贵时间。
您还应该确保db.php文件以UTF-8编码保存。
相关文章:
- 可以't导入更少的UTF-8 BOM编码的文件
- Dart web服务器应该对所有内容使用UTF-16编码吗
- 使用javascript中的UTF-8编码生成友好的url
- JavaScript 强制使用 UTF-8 编码
- 编码/解码十六进制为 utf-8 字符串
- angular.js $http.了解如何强制使用 UTF-8 编码
- JavaScript utf-8 编码问题
- 如何在 node.js 中将 HTTP 响应正文编码为 UTF-8
- 如何使用 PHP 将 utf-8 编码的 json 保存到.txt文件中
- 对 URI 组件非 utf-8 字符进行编码并相应地解码它们的正确方法是什么
- 如何直接在 JavaScript 中将字符串编码为 UTF-8
- 外部gem的资产管道编码问题(UTF-8与ASCII-8BIT)
- Javascript表单缩短-UTF-8转换编码
- 将HTML表导出到Excel时编码UTF-8
- 让JettyRunner使用UTF-8编码提供静态内容(如CSS和JavaScript)
- 如何在PHP中将Javascript字符串编码为Unicode并将其解码为utf-8
- execCommand在ie中使用USC-2小端编码保存csv文件,如何使用UTF-8格式保存
- 通过js API消息发布BASE64图像和消息不是UTF-8编码的
- 在PHP上正确解码双编码UTF-8
- Java和JS/AS3在URL解码/编码UTF-8方面的差异(bug!?)