adress.js
function addAdress(){
var s = document.getElementById('addStreetName').value;
var sn = document.getElementById('addStreetNumber').value;
var sl = document.getElementById('addStreetLittera').value;
var sz = document.getElementById('addZipCode').value;
var sa = document.getElementById('addAreaCode').value;
$.ajax({
url: 'db/addAdress.inc.php',
type:'POST',
dataType: 'json',
data: {
addStreetName: s,
addStreetNumber: sn,
addStreetLittera: sl,
addZipCode: sz,
addAreaCode: sa
},
success: function(output_string){
$('#addAdressResultBox').append(output_string);
},
error: function (xhr, ajaxOptions, thrownError) {
alert(xhr.status);
alert(thrownError);
}
});
}
addAdress.inc.php
include('../inc/conn.inc.php');
$query = "INSERT INTO comhem_profiler_adresses (comhem_profiler_adresses_street, comhem_profiler_adresses_street_number, comhem_profiler_adresses_littera, comhem_profiler_adresses_zip_code, comhem_profiler_adresses_area_code)
VALUES ('" . $_POST['addStreetName'] . "', '" . $_POST['addStreetNumber'] . "', '" . $_POST['addStreetLittera'] . "', '" . $_POST['addZipCode'] . "', '" . $_POST['addAreaCode'] . "'";
$addAdress = mysql_query($query) or die(mysql_error());
mysql_close();
在此脚本中,我想向数据库添加地址。但是当他们最终进入数据库时,特殊字符就像其他字符一样完整。 Sörbyvägen最终像Sörbyvägen。我不知道在哪里看到这个变化。
它似乎不是数据库,因为我用脚本将这些更改为他们的html对应物。 Sörbyvägen仍然出现在数据库中,但与html对应物一起出现。并尝试了htmlspecialchars()。仍然在数据库中出现为Sörbyvägen。
有什么想法吗?
答案 0 :(得分:1)
确保您的表格default-character-set
为utf8
且default-collation
为utf8_general_ci
还要确保在连接到MySQL后使用mysql_set_charset("UTF8", $connection);
答案 1 :(得分:0)
你需要正确地将这样的字符编码为UTF-8以及设置你的数据库以使用UTF-8,然后它将像魅力一样工作。您还需要知道将其正确转换为utf-8的基本编码是什么