[英]Unable to receive language text from server to client
我想存儲印度語言並再次顯示保存的消息。(帶有語言消息的 CRUD 操作)。 我能夠實現創建,但是嘗試閱讀時我得到“???” 而不是已保存的語言內容(即 नमस्ते )。 因此,當我調試時,我會找到數據,直到打印編寫器對象如預期的那樣以語言顯示。 但是當我在 JavaScript 上接收我的 Ajax 時。 我得到“????”。
筆記 :
我嘗試了內容類型 - 文本/html、應用程序/json。
編碼為 UTF-8
在服務器:
response.setCharacterEncoding("UTF-8");
response.setContentType("text/plain;charset=UTF-8");
response.setHeader("Cache-Control", "private, no-store, no-cache, must-revalidate");
response.setHeader("Pragma", "no-cache");
response.setHeader("x-xss-protection", "1; mode=block");
response.setHeader("x-frame-options", "SAMEORIGIN");
out = response.getOutputStream();
out.write("नमस्ते");// this is coming from db
在客戶
$.get({
url: "/server/langMsg",
}).then(function(rspTxt){
var json = $.parseJSON(rspTxt);
});
您不需要使用ServletOutputStream
。 只需使用javax.servlet.PrintWriter
,
response.getWriter().print("नमस्ते");
我不確定 DB,我試過 MySQL。 但是,我想應該是一樣的。 如果您沒有指定 UTF8,您應該看到類似 ?????? 在你的數據庫中,你應該看到印地語數據。 如果您沒有指定,請指定並嘗試。 快速代碼:首先檢查 UTF8 與此查詢的兼容性。 如果它支持你應該看到輸出為“Character_set_system”| “UTF8”顯示變量如“character_set_system”;
既然被檢查了,改變表並只修改列,將其指定為UTF8
ALTER TABLE tableName MODIFY columnname VARCHAR(10) CHARACTER SET UTF8; 現在,嘗試插入印地語/本地語言值並保存。 查詢它,你應該看到印地文文本。
我終於得到了答案,問題出在 tomcat 和 mysql 配置(我的項目中的 context.xml)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.