【问题标题】:Values with special character end up different in mysql database具有特殊字符的值在 mysql 数据库中最终不同
【发布时间】:2012-11-01 17:35:25
【问题描述】:

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();

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

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

有什么想法吗?

【问题讨论】:

标签: php mysql ajax


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    确保您的表的default-character-setutf8default-collationutf8_general_ci

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

    【讨论】:

    • 不要忘记 apache 配置中的 header("Content-Type: text/html; charset=utf-8");AddDefaultCharset UTF-8
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-12-18
    • 2012-10-07
    • 1970-01-01
    • 2016-10-08
    • 1970-01-01
    • 2016-12-27
    • 2020-08-30
    相关资源
    最近更新 更多