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

拖延症的悖论

有一句话是这么说的:不要跟我比懒,我懒得跟你比……

拖延症有时候想想也是挺类似的。作为一名拖延症的患者,虽然我们都意识到了拖延症的不好,也同意应该要尽早纠正这样的状态,但与此同时内心却依然有一个声音:等一等再纠正吧……

至于你说为什么?很简单,因为是拖延症患者嘛!如果一个人能立马就纠正他的状态,那他就不是拖延症患者了,对吧?

你可能会说,来来来,给你几个克服拖延症的建议,1,2,3,4……拖延症患者会想:嗯,建议不错,我等一等再试试看吧……

有个冷笑话是这么说的:几个月前,在书店看了一本关于战胜拖延症的书,觉得挺好的就买下了,到现在还没怎么看……

所以你看,关键并不在于建议。生活上有很多事情也是类似的。比如说一个穷人他需要时间去提升自己,可穷人往往也缺乏时间;一个觉悟不高的人他需要提高自己的觉悟,可是正因为他觉悟不高,所以他觉悟不到自己觉悟不高……

你觉得呢?

启用缓存与 gzip

开启 https 感觉慢了一些,想升级到 http2,发现安装的 nginx 没有把 http2 的模块带上,暂时也不想折腾这个,就先弄了个缓存加压缩。

缓存就用了 wordpress 下的 WP super cache 插件来搞,免得每次都去调用 php 脚本生成,反正内容也不是经常要变。

另外也把 gzip 开启了。原来 apache server 有开,换成 nginx 没有注意,以为它自动开了,结果没有开,于是也把它开启了,应该会快一点,反正 cpu 资源不用也是浪费~~

JSP 中的字符集编码与乱码问题

深入介绍了 JSP 中的编码与乱码问题,分析对比了 page 指令中的 pageEncoding 属性和 contentType 属性,还对 JSP 与 servlet 及 HTML 的关系作了一个简要介绍。

在说完了网页中的编码与乱码(),servlet 中的编码问题后,这次来探讨一下 JSP 中的编码与乱码问题。

在之前,曾谈到过 JSP 与 HTML 间的关系,JSP 本质上是一个 HTML 的模板,用于在服务端动态生成 HTML,这点跟 servlet 是类似。

其实 JSP 本质就是 servlet,一个 JSP 页面它会被编译成一个 java 文件,实际上就是一个 servlet 类(或其子类,在文章的后面会具体讨论这个问题)。

继续阅读“JSP 中的字符集编码与乱码问题”

Java servlet 使用 PrintWriter 时的编码与乱码

介绍了 Java servlet 使用 PrintWriter 时的编码与乱码问题,并探讨了 PrintWriter 的缺省编码与普通字符流的缺省编码的差异。

在前面的网页中的编码与乱码系列中(),曾多次提到使用 servlet 方式构建的动态响应流,不过在那里都是直接使用字节流的方式,不过,更为常见的方式是使用字符流。而在前面,又谈到了 Java 字节流与字符流的话题()。

有了前面的基础,现在来说下 Java servlet 中使用字符流,也即是 PrintWriter 时的编码与乱码问题。

继续阅读“Java servlet 使用 PrintWriter 时的编码与乱码”

Java 字节流与字符流(4)

怎样算是“一个字符”?

在这一篇,我们谈论最后一个话题,就是“到底怎样才算一个‘字符’”?

其实这个话题在字符集与编码(五)——代码单元及 length 方法中和文本在内存中的编码(1)——乱码探源(4)也有所涉及,这里结合字符流的话题再综合深入探讨它一下,并且还将涉及一个 unicode 组合字符及正规化的话题。(这在前面也没有涉及过的)

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

网站全面切换到 https

现在这个网站的访问已经全面切换到 https 了,无论是裸域名的 xiaogd.net,还是子域名的 exp.xiaogd.net 都是如此。

本来上个月切换到 nginx 时就想一并弄了的,不过很不幸那段时间领导们正好在开会,寡妇网(g.f.w)卡得特别死,导致都没有办法访问外网的  Let’s Encrypt 去申请证书,所以又拖了段时间。(也正好有理由偷偷懒~~)

另外也配置了 301 的跳转,如果你访问 http,会跳转到 https,换言之已经不能用 http 来访问了。暂时的处理是这样,如果以后发现 https 访问较慢的话,可能也会切换回去 http,或者两种方式并存,由用户自行选择,这个运行一段时间后再看看。

其实对于一个博客网站来说,是否开启 https 其实并不是很重要,不过 https 现在是一个趋势,早晚会来的,所以“早死早超生”吧,就这样……

 

web server 切换到 nginx

web server 从 apache 切换到 nginx。

之前没有注意 nginx 不支持 apache 那种 .htaccess 式的配置,导致永久链接(permalinks)失效,现已在 nginx 中配置 rewrite 规则,永久链接已经 OK 了。如果还发现有不能访问的,请留言,谢谢!

另:子域名的 https 暂时还没有配置。