0

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として表示されています。

何か案が?

4

2 に答える 2

1

あなたのテーブルdefault-character-setが存在することを確認utf8default-collationてくださいutf8_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 に答える