表单(form) post 方式提交时的编码与乱码(下)

探讨了表单以 post 方式,enctype 为 multipart/form-data 提交时数据所使用的字符集编码(包含缺省使用页面编码及设置了 accept-charset 时两种情形),包括了上传文件及使用中文文件名时的情况,以及后台的接收处理。

在上一篇中提到,post 方式按 enctype 的不同,分成两种情况,一种是 application/x-www-form-urlencoded,前面已经分析过了,这一篇则讨论剩下的那种:multipart/form-data。

继续阅读“表单(form) post 方式提交时的编码与乱码(下)”

表单(form) post 方式提交时的编码与乱码(上)

探讨了表单以 post 方式,enctype 为 application/x-www-form-urlencoded 提交时数据所使用的字符集编码,具体介绍了缺省情况以及设置了 accept-charset 属性时的情况,同时介绍了后台在取出表单数据前如何使用 setCharacterEncoding 来设置正确的解码。

在上一篇章中谈论了表单以 get 提交时的编码与乱码问题,这一章中将讨论以 post 方式提交时的编码与乱码问题。

在前面也同时提到,表单有一个叫 enctype 的属性,它有两个值,application/x-www-form-urlencoded 和 multipart/form-data。这一属性实际只对 post 方式起作用,因为 get 方式实际只支持前一种类型,也就是 application/x-www-form-urlencoded,这是缺省的类型。

在使用 post 方式提交时,缺省的编码类型也依然是这个 application/x-www-form-urlencoded。在这一篇章中,先讨论这一类型;在下篇中,再讨论 multipart/form-data 类型。

继续阅读“表单(form) post 方式提交时的编码与乱码(上)”

表单(form) get 方式提交时的编码与乱码

探讨了表单以 get 方式提交时数据所使用的字符集编码,具体介绍了缺省情况,此时使用文档本身的编码;以及设置了 accept-charset 属性时的情况。

在前面说完了 URL 中的编码与乱码(),也为本章节谈论的主题,关于表单(form)以 get 方式提交时的编码与乱码问题打下了一个良好的基础。

事实上,表单以 get 方式提交就是把表单中的数据拼凑在 url 中提交到后台,也因此与 url 中的编码有着非常紧密的关系,可以说这两种方式是极为类似的。

继续阅读“表单(form) get 方式提交时的编码与乱码”

URL 中的编码与乱码(下)

深入介绍了 URL 中的转义编码,用具体例子讲解了不同页面编码的情况下,查询字符串转义时所使用的编码,还顺带对 url 的组成结构作了介绍。

在上篇中,初步谈论了 URL 中含有中文字符时的转义编码,提到了所使用的编码是 utf-8.

不过你可能会有点疑问,一定都是用 utf-8 编码吗?还是因为页面编码本身是 utf-8 的缘故呢?毕竟在那个例子中,页面的编码也恰好是 utf-8。

继续阅读“URL 中的编码与乱码(下)”

URL 中的编码与乱码(上)

深入介绍了 URL 中的转义编码,用具体例子讲解了中文 URL 中的转义情况,以及 tomcat Connector 中的 URIEncoding 设置。

在之前说完了静态 html 页面的中的编码(),接着又谈论了动态 html 页面中的编码问题,具体以 java 平台为例,谈论了 servlet 中的编码与乱码问题以及 jsp 中的编码与乱码问题

虽然没有涉及更多的语言平台,比如 php,asp,乃至 nodejs,python,ruby 等,但背后的原理基本也是相通的。

这一次将转入一个新的话题,就是 URL 中的编码与乱码问题。

继续阅读“URL 中的编码与乱码(上)”