2
我有以下的角度工廠,職位要求到一個servlet(TOMCAT),在其反過來,訪問DB發送/檢索數據:Angular http後非拉丁字符轉換爲?
MyApp.factory('DB_Services', function($http , $q) {
var l_Result ;
var DB_Services = function(p_Query) {
var l_deferred = $q.defer();
var l_url = "http://localhost:8080/Services/Dispatcher?";
var l_params = 'request=' + JSON.stringify(p_Query) ;
console.log("DB_Services - l_params is: " + l_params) ;
var req = { url: l_url, method:"POST", headers: { 'Content-Type': 'application/x-www-form-urlencoded'
}, data: l_params
} ;
console.log("DB_Services - req is: " + JSON.stringify(req) ) ;
$http(req).
success(function(data, status, headers, config) {
console.log("DB_Services - Success; data is: " + JSON.stringify(data)) ;
l_deferred.resolve(data);
}).
error(function(data, status, headers, config) {
console.log("DB_Services - Error: " + data) ;
l_deferred.reject(status);
});
return l_deferred.promise;
} ;
return DB_Services;
});
的函數是「幾乎」完美,而唯一的問題(至少現在)非拉丁字符返回爲「?」。我檢查了TOMCAT日誌,在該日誌中打印從DB中檢索的內容並將其發回給客戶端,並且所有非拉丁字符都顯示爲OK。
我想我錯過告訴Angular/HTTP,響應是一個UTF-8字符編碼的JSON。如果我的猜測是正確的,我該如何添加這些信息?
在此先感謝。
你在頁面的head標籤中是否有這一行:''? –
是的,我有。也許這會更關注我的問題。最初,在開始與數據庫集成之前,我手動填充了所有語言的JSON,並顯示OK。它看起來問題在於HTTP-POST處理聊天集。 – FDavidov
默認情況下,XmlHttpRequest使用'utf-8'。聽起來像是服務器端或數據庫問題 – charlietfl