第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如題,在ajax 向 servlet中傳遞參數(shù)時,出現(xiàn)中文亂碼(問號) ,請問該怎么解決?

如題,在ajax 向 servlet中傳遞參數(shù)時,出現(xiàn)中文亂碼(問號) ,請問該怎么解決?

慕尼黑8549860 2022-03-04 14:07:16
后臺:接受參數(shù)。System.out.print(request.getParameter("onebroadcast"));調(diào)試發(fā)現(xiàn) 接收到的 就是 亂碼(??)
查看完整描述

2 回答

?
呼喚遠方

TA貢獻1856條經(jīng)驗 獲得超11個贊

第一點要明確,ajax 發(fā)送的中文是以什么 編碼(GBK 或utf-8 或 iso-8859-1)發(fā)送給后臺servlet 的,
第二點,當后臺接受到 ajax發(fā)過來的請求時,你要設置 用什么編碼去解析 ajax發(fā)送過來的數(shù)據(jù)
request.setCharacterEncoding("???");
上2步弄明白了,就不會出現(xiàn)亂碼。

第一, ajax 發(fā)送字符的編碼是由這個網(wǎng)頁所決定的,這個網(wǎng)頁的字符編碼是 UTF-8,那么 ajax發(fā)送的字符就以 utf-8 發(fā)送到后臺(不過 form表單里面的有個屬性可以設置以什么字符編碼發(fā)送給后臺)。你在頁面知道是 UTF-8編碼(或者用 document.charset 獲取編碼),但是 后臺不知道,所以,在ajax中設置一個 charset屬性為 utf-8(xmlHttp.setRequestHeader("Context-Type", "Charset=UTF-8");),告訴后臺 發(fā)過來的是 utf-8編碼的字符,

第二,上面說到 http請求中 charset 屬性指明編碼為 utf-8,但是,服務器不會給你自動轉(zhuǎn)換,默認都是使用 iso-8859-1(誰叫服務器都是老外開發(fā)的,他們根本都沒想到這玩兒會流行全世界,會有各種各樣的字符編碼,不過提供了一個方法讓我們自己設置編碼也算高明的了),所以后臺頁面要你自己獲取這個值,然后 設置轉(zhuǎn)換編碼
request.setCharacterEncoding("UTF-8");

查看完整回答
反對 回復 2022-03-07
?
30秒到達戰(zhàn)場

TA貢獻1828條經(jīng)驗 獲得超6個贊

有幾個方法吧,第一
在首選項里面把默認jsp頁面編碼格式改為UTF-8.具體設置方法可百度,參考我的<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>(其他格式的也行。個人愛UTF-8)
第二,
在servlet中加上這么一句話,response.setContentType("text/html");request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("utf-8");可能是這個問題的概率大。(注:會設置項目全部去過濾則不用這么麻煩一般這樣也行)。
第三
轉(zhuǎn)換全球通用格式。比如a=您好就可以轉(zhuǎn)換為a=\u60A8\u597D。把后面那個字母數(shù)字的東西放到哪里也不會亂碼。轉(zhuǎn)換軟件JDK目錄下有。不會可百度。詳細的就不說了。自己查查長知識吧。
以上三種方法基本可以解決全部亂碼問題。



查看完整回答
反對 回復 2022-03-07
  • 2 回答
  • 0 關(guān)注
  • 519 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號