0

地址.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);
  }
});
}

添加地址.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();

在这个脚本中,我想将地址添加到数据库中。但是当它们最终出现在数据库中时,特殊字符 å ä ö en 完全是其他字符。Sörbyvägen 最终像 Sörbyvägen 一样。我不知道在哪里看这个改变。

它似乎不是数据库,因为我使用脚本将这些更改为它们的 html 对应项。Sörbyvägen 仍然出现在数据库中,但与 html 对应。并尝试了 htmlspecialchars()。在数据库中仍以 Sörbyvägen 的形式出现。

任何的想法?

4

2 回答 2

1

确保您的桌子default-character-setutf8并且default-collationutf8_general_ci

还要确保在连接到 MySQL 后使用mysql_set_charset("UTF8", $connection);

于 2012-11-13T09:35:37.147 回答
0

您需要将此类字符正确编码为 UTF-8,并设置您的数据库以使用 UTF-8,然后它会像魅力一样工作。您还需要知道将其正确转换为 utf-8 的基本编码是什么

于 2012-11-13T09:30:50.327 回答