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 中的编码与乱码(上)”

Java 字节流与字符流(3)

在上一篇中比较了使用字节流和字符流来读取(写入)文本文件的优劣后,这一篇主要探讨缺省编码这个主题。

字符流使用缺省编码

通过前面的例子,已经得出了一个结论:字符流=字节流+编码。

可以在构建字符流时显示传入编码参数,那么所得到的字符流就会以该编码来编码(encode)解码(decode)字节流,这会给文本数据处理带来极大方便。

但有时,构建字符流时也可以不传入编码参数,比如如下直接构建一个 InputStreamReader :

继续阅读“Java 字节流与字符流(3)”

Java 字节流与字符流(2)

在上一篇中介绍了字节流与字符流的关系,这一篇主要给出一些具体的代码示例。

使用字节流读取文本文件

上篇中说到,无论是字符流还是字节流,都可以用于读取文本文件,特别是对于一整个文件的读取,两者的差别并不大。来看一个具体的示例,假如有如下 gbk 编码的 txt 文件一枚,具体内容为“hi你好”,对应二进制如下:

继续阅读“Java 字节流与字符流(2)”

网页中的编码与乱码(5)

深入探讨了缺省情况下浏览器的响应行为,包括静态和动态的响应,最后,对所有情况作了一个简单总结。

在上一篇我们谈论了 BOM 编码的页面,并知道了它是有最高优先级的。而这一篇将讨论最后的一个主题,也就是缺省的情况。既然名为缺省,也就不难想到,它的优先级是最低的,也即是在其它情况下都无法确定编码时,才轮到它上场。

继续阅读“网页中的编码与乱码(5)”