字元編碼相關總結

2022-09-17 03:57:08 字數 4242 閱讀 9481

場景1:在html中定義表單submit_form,通過js中的$('#'+submit_form).ajaxsubmit提交表單,但是在後端收到表單提交的中文顯示亂碼。

前段部分**如下:test.html

<

form

id="insterfestivals_form"

method

="post"

>

<

br />

<

p>

<

label

for="relation"

>所屬人姓名:

label

>

<

input

type

="text"

name

="relation"

id="relation"

>

input

>

p>

<

p>

<

label

for="festival_type"

>

節日型別:

label

>

<

input

type

="text"

name

="festival_type"

id="festival_type"

>

input

>

p>

<

p>

<

label

for="festival_ldate"

>

農曆:label

>

<

input

type

="date"

name

="festival_ldate"

id="festival_ldate"

>

input

>

p>

<

p>

<

label

for="festival_ydate"

>

陽曆:label

>

<

input

type

="date"

name

="festival_ydate"

id="festival_ydate"

>

input

>

p>

<

p>

<

label

for="remarks"

>

寄語:label

>

<

input

type

="text"

name

="remarks"

id="remarks"

>

input

>

p>

<

br />

<

br />

form

>

<

div

id="but"

>

<

button

id="insterfestivals"

>提交

button

>

<

button

id="reset"

>重置

button

>

div>

後端j**a**如下:test.j**a

//

新增登入使用者所屬成員的節日紀念日

public modelandview insterfestivals(@requestparam("userid")string userid,string relation,string festival_type,string festival_ldate,string festival_ydate,string remarks)

catch

(exception e)

festival.setremarks(remarks);

festivalservicei.insertfestival(festival);

modelandview insterfestivals = new modelandview("insterfestivals");

insterfestivals.addobject("errcode", "0");

return insterfestivals;//

渲染檢視名insterfestivals.jsp

}

解決方法:

方法一:將get改為post,並在request_demo01.jsp中string content前面加一句:requst.setcharacterencoding("gbk")。但是通過url提交的方法只能用get方法,所以第一中方法行不通。

方法二:修改tomcat中server.xml檔案,在connector節點中加入:usebodyencodingforuri="true",如下:

usebodyencodingforuri="true" />

場景2:表單提交controller獲得中文引數後亂碼解決方案

form表單提交方式為必須為post,get方式下面spring

編碼過濾器不起效果,只能參照本文(場景1

修改web.xml,增加編碼過濾器,如下(注意,需要設定forceencoding引數值為true),**如下:

<

filter

>

<

filter-name

>characterencodingfilter

filter-name

>

<

filter-class

>org.springframework.web.filter.characterencodingfilter

filter-class

>

<

init-param

>

<

param-name

>encoding

param-name

>

<

param-value

>utf-8

param-value

>

init-param

>

<

init-param

>

<

param-name

>forceencoding

param-name

>

<

param-value

>true

param-value

>

init-param

>

filter

>

<

>

<

filter-name

>characterencodingfilter

filter-name

>

<

url-pattern

>/*

url-pattern

>

>

場景3:js獲取window.location.search位址中的引數值出現亂碼

實際在瀏覽器上看到的是:view-source:http://localhost:8080/spring_shizhan4ban_chapter05/resources/js/insterfestivals.html?userid=謝朝輝(gooler瀏覽器是gbk編碼的),所以在獲取位址引數中的值時需要轉碼。

//

js獲取url中的引數值

var data =

function

getquerystring(name)

return

null

;}

字元編碼相關總結

1 一位元組byte 8位元bit,so,一位元組能表示的最大的整數就是255 二進位制 1111 1111 2 最早ascii編碼,用乙個位元組byte來表示127個字元,包括 大小寫英文本母,數字,一些符號 3 中國gb2312編碼 加入中文的編碼。與此同時,各國有對應編碼。多國語言就會導致亂碼...

字元編碼相關知識總結

1.什麼是字元 字元是書寫的最基本構建單元。字元可以表示字母 數字 標點 表意符號 比如漢字 數學符號,或者其他的書寫基本單元。不能把字元和字形相混淆。字元是唯一的,抽象的語言 原子 字形是畫出每個符號時使用的特定方式。只有當用一種字形替代另一種字形,文字的意思發生了改變,才把這些字形看成是不同的字...

字元編碼相關

1,文字編輯器開啟檔案,讀入二進位制序列 2,如果有bom頭,直接根據bom頭使用相應的字元編碼解碼方式,如果沒有,則根據一套演算法得出該檔案最有可能為哪種編碼,再使用相應的解碼方式解碼。或者先使用預設的解碼方式 ansi 進行解碼,遇到問題再呼叫適配演算法進行解碼方式適配。3,文字編輯器解碼完成,...