00:00
我们来我们来说一下关于这个中文乱码的问题,现在呢,中文乱码的问题这样解决啊,看hello老师这ST吧,你要保证,你要保证配coding和叉set保持一致,都是UTF杠八,这个时候在页面上就可以写中文。比方说,呃。学习知道吧,这个时候访问就是没问题的跑一下。学习啊,没问题,大家说的时候什么时候会有问题啊。你如果访问的时候,我现在这个页面的编码是不是UGL8呀,是吧,但你如果要是访问的时候。如果访问的时候,我当前页面这个编码我指定。
01:04
编码查看。编码是不是用加油八啊,你偏得用一个欧码。这不出问题吗?能能懂这个意思吧。就是说正常情况下的话呢,浏览器会自动的识别你的编码是什么编码,你看还有一个呃,自动选择,但这块现在也有问题哈,这个时候的话呢,如果浏览器这个编码也有也是U点幺八的话,这个时候就肯定没有问题。肯定没问题,好了,这是第一处,我们如何保证在页面上写的是中文,我访问的时候呢,也没有乱码。中文乱码的几个层次。第一个层次。说关于中文乱码。六。关于中文。
02:03
乱码第一个层次,我们要保证的是在JSP页面上输入中文,然后呢,呃,请求页面。后不出见。乱码这个如何来做呢?我们只需要保持三个一致就可以了,也要保持P页面的content这个,Site跟配coding这个通常情况下都是一致的,CTRLC。小一。直接来吧,保证保证什么呢,这个。跟配coating的值一致。Char set跟配置coding的编码一致,线都支持中文线。
03:12
都支持。中文这是肯定的啊,通常建议取值,通常。建议取值为UTF杠八好了,这是一处,这是一处,那还没完,还有一个什么呀,还虚。保证浏览器的显示的字符。编码也。也和和什么呢?和请求的GP页面的编码。一致,这就可以了。哪个呀,这。
04:06
查看。对吗?哎,对,一直就可以来,我们来看看这360哈查看。编码呢?对吗?好。你看这是DP28,它是不是也有问题啊,看见了吧,哎,它也有问题,所以说这个编码的话呢,就他了没问题,这是不是图片呢。此外这个里边的也有问题,这个看着麻人哈,你只需要保证这个编码八基本上都没问题。好,这是我们说的这个显示编码的问题,显示中文的问题,第二处,第二处是什么呢?说获取。中文参数值怎么获取?什么叫获取中文参数值呢?这样的点JPA.jp。
05:10
呃,这转成我先不点,我来写form form,我action去的是hello.jsp,我写一个method,写一个post,好了,我来写一个user name。In,裤子,Time name user name,然后呢,Exam in put。Hi。好,写完。好了。我写完之后的话呢,然后呢,我这个请求哈,点JSP,我们来跑这个页面去a.JSP看。a.T。
06:01
哦,是不是不写东西了?怪不得呢哈。HTML。a.GP。A点减P,看这样现在的话呢,我来写一个上尾骨好N3米,你看有我没获取是吧,我获取一下这个值过来。写两个BR,写什么呢?Nameme这样写哈,request.get proname。保存好看一下是乱码呀,哎,这个乱码应该如何解决?这是第二个层次,第一个层次的话呢,你保证。
07:01
那三个一致就没问题,第二个层次,我如何来保证这个不是乱码呢?这个时候呢,我们需要来教一个方法。Hello,为什么呀?我必须得保证在获取任何参数值之前要这么一个方法,request.set coding啊,请求的编码是UGF杠八就可以了,再看。这个时候就是中文没问题,看一下API。到SSE。大意。So request看方法叫car cody看看哈,说呀说。
08:07
这个方法必须在调读取请求参数之前被调用,否则无效。所以说。对于POS的请求,你这样做就可以。咋说呢?就是说在我获取请求参数之前,或者是我在调用request,我在用这个request获取请求信息之前,你写成这样的一句话,就会解决中文乱码的问题,后来看这哈一,它分为一和二。一对于。Post请求。说只要。在获取请求信息之前调用request点。
09:09
Coding写一个。UTF杠八即可,这个时候的话呢,就不会出现。乱码的问题,第一处第二个同学说对于get请求。不一样吗?不一样吗?一不一样。看疗效。看这。我写个。保存再过来再看。回馈刷新上追捕。过来你看它是不是自动进行编码了,后来这个是乱码,我们发现什么呀,我们发现上边这个设的这种方式啊,对get请求无效。
10:07
没有效果。那默认在传输的时候使用那个速度编码是欧码,这是一个前提哈,默认参数在翻书。过程中使用的。编码为ISO杠。八八。五九杠一,所以说的话呢,这个时候我们发现这个怎么样,对于get无效,然后前面的方式。前面的方式对于盖无效,那盖无效的话,我可以怎么办呢?怎么办呢,回来你看你不是说你是一个。
11:04
你是一个啥嘞,你是一个那个859杠幺吗?于是我这样写。说我what value等于request.get叫什么呀?叫you name,你不把我有腰吗?是吧,我写上一个string,有name。等于啥呀,六。String先解码在编码,怎么解Y流点指定解码使用ISO杠。8859杠一先解了,然后再用中文的方式编好了,我们再来看out.print有的name保存。
12:01
是不是好使啊,但每次都这么整的话,这才麻烦,那如果这句话要是也好用,它同时适用于中文和英文的话,或同时适用于get跟post的话,是不是挺好啊?那怎么让怎么样让它也适用于?Get请求呢?哎,我怎么样让它也适用于这个get请求呢?我们可以来看一下tomca的这个方轮档,这个呢是to k的问题哈。看一下。Com怎么样支持get请求的中文?猫。Documentation文档。往后找。配置。
13:00
再往后找HTTPHTP请求嘛,是吧,完了往后翻,这是HTP请求里边的一些属性,我们往后看啊。看哪呢,看这叫UI encoding,这个呢,可以让我们指定对于UI请求时,这个编码的方式是什么,如果没指定的话,默认用的就是ISO8551哪个呀,你看我现在这个编码用的不是。啊,刚才我用没了哈,我这。我再看一个。大家看这个时候怎么了,这个时候的话呢,这块这个是不是在问号的后边,我们已经把这个汉字进行转码了,哎,这个时候他说了,他说什么呢?他说对于在问号后边的使用这样方式进行转码的,默认使用这种方式,那你可以设置一下,让它变成又加又发一种,另外一种呢,你也可以来设置这个属性叫什么使用。
14:27
Body encoding for uri,就是说我如果要是把这个设置为true的话,它将将使用谁呢?使用请求体的编码,什么请求体的编码?换句话说,这句话将对。Get请求起作用,所以说我们直接设置一下这个属性。会更具有灵活性。找到UN。
15:01
很会搞。搜网XML。这个是哈。好啦。找。就这里边connection。我指定个啥呀,指定一个。叫右coding,不,UI等于。处光改完这个还不够,还需要把那个他T重新映射一遍,因为你光改这个怎么了,我这块并没有改。Comca还有一个啥呀,还有一个叫。Sorry。他没改这不行,行老师,我这个加上行吗。
16:03
加上我们是啥。这块。周一加上等于负,OK,再看服务器重启。就这个吧。刷新看这是不是好了,好了没问题,那这块就就没有问题了。怎么有问题了,因为这个时候编码是六加幺八了吧,那你解码也得用它。就可以对看。这个时候它就好用了,所以说第二种方式的话呢,我们怎么办呢?哎,我们可以修改,通过修改他。
17:00
的serverl文件。文件的方式来解决这个问题,那怎么改呢?具体我们可以看这个这样。复制参照这个文档。按照这个文档。什么属性呢?呃,Use UI属性。一个C这个不行。然后呢,为。为谁呀,为?Action。Connector connector添加该属性的语数机构为connect节点添加。Use body。Encoding for UI等于注属性。
18:02
等于处属性进口这样就可以了,那么我们把这个复制一下啊,复制一份过来。CTRLC过来。这样就可以人人说哎,老师你这个不加行吗?我拿掉啊,不加,我说不,他们开的服务器加这个,我说没加呀,好,我们挤一下试试。看这个吧,再看这是不是还是乱码呀,所以说你必须保证映射这个跟服务器那个是一致的才行,再来看。这个时候就没问题了,好了,这就是我们说的关于中文乱码的问题,两个层次,第一个层次我们要保证在页面上可以写中文,而且响应用户的话,那个中文是OK的,这个比较简单,只要保证。
19:13
Char set配coding以及浏览器那个字库编码都是UF8就肯定没问题,那刚才我们看了是吧,即便是像这个一些一些大型网站的话,如果你对码不对的话,它也是乱码。第二个如何保证获取请求参数的值也是中文呢?对于POS的请求非常简单,我在获取请求信息之前调一个request set coding就可以。那这个请求信息应该是是什么呀,具体获取请求信息是吧,这应该是比方说在要用request点。你或者是或者。是什么request.get reader这样的方法哈,你要是获取一个其他的,比方说我获取一个method,那个没事,那我要在调用这个之前等吧。
20:12
来调这个方法,告诉我这个编码是什么,而对于get的请求,这个方式无效,怎么办呢?我可以修改tomcat so XL的方式达到这个目的。好了,那大家呢,把后者需要试一下,你得保证。你的整个的这个呃,请求和获取请求参数不会出现中文乱码的问题。
我来说两句