我试图使用javascript,没有框架(原型,jQuery等),将从html表单传递的数据插入到mysql数据库中.我设法让这个工作,但是,我的语言中常用的一些特殊字符(æøå)出现问题.utf-8支持这些字符,当我跳过javascript时一切正常.但是,当我尝试通过javascript post函数传递html表单的内容并使用我的工作php脚本执行查询时,每个æøå都会转换为Ã|åå.
为了分解它,当代码中没有确定其他时,javascript以某种方式强制特定的字符集?我试图在javascript帖子和php文件以及html表单的标题中指定charset.
我认为在我的javascript文件formpost.js中一定有问题或遗漏:
function sendText(visbool){
var http =new GetXmlHttpObject();
var url = "sendtext.php";
var ovrskrift = document.form1.overskrift.value;
var cont = document.form1.content.value;
var params = "overskrift=" + ovrskrift + "&tekst=" + cont + "&visbool=" + visbool;
http.open("POST", url, true);
//Send the proper header information along with the request
http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
http.setRequestHeader("Content-length", params.length);
http.setRequestHeader("Connection", "close");
http.onreadystatechange = function() {//Call a function when the state changes.
if(http.readyState == 4 && http.status == 200) {
// gjør noe smart her
}
}
http.send(params); …Run Code Online (Sandbox Code Playgroud)