|什么理由让代码保存为GBK?

|什么理由让代码保存为GBK?

文章图片

|什么理由让代码保存为GBK?

文章图片


实际上大多数程序员都不会特别在意编码 。 只不过程序员的主流IDE跟编辑器一直在迭代 , 而越新的编辑器跟IDE越倾向于使用utf-8作为默认编码 。 比较老的Windows IDE则会使用GBK编码 。

其实没有任何理由保存代码为 GBK , 这个会带来很严重的兼容性问题 。 保存为 GBK 通常是历史遗留问题 , 尤其是老的 C/S 架构项目 , 代码多为 GB2312 / GBK, 在早期的 Java EJB 项目中很多也会使用 GBK 。
在 GBK 之前其实有一个更早的 GB2312 编码 , 这个编码字符集太小 , 经常乱码 , 才有了后面的 GBK , GBK 帮助解决了不少问题 。
随之 WEB 环境的快速演进 , 目前项目中包括数据库通常都会使用 UTF-8 编码 , 包括数据库驱动之间也会使用 UTF-8 。 其实很简单 , 如果你的项目就只是中国国内用用 , 你的字符集觉大部分是中文和英文 , GBK 也差不多够用了 。

如果要使用日文 , 韩文 , 德文 , 你怎么办 。 页面 UTF-8 , 数据层 GBK , 这里就要涉及到转码 , 这个是有代价的 , 其实也根本也没有什么必要 , 全部用 UTF-8 就行了 。
还有就是文件的编码 , 如果文件编码是 GBK , 用编辑器还得为 IDE 设置特定的字符集 , 不是闲着没事找事嘛 , 直接用 UTF-8 , 解决所有问题 。 另外操作系统曾经也是不少问题 , Unix 类似的系统基本上都是 UTF-8 的配置 , 你写的项目部署上去就是乱码 , 这不是闲着蛋疼 。
【|什么理由让代码保存为GBK?】
另外 GBK 也不是最新的字符集了 , 如果非要用应该要使用 GB18030 字符集 , 这个字符集版本更新 。 拿着 GBK 不想换的 , 基本上是老项目多 , 公司也不愿意折腾去维护 , 自己用户群基本上没有其他语言级的需求 , 另外也就上面懒得换而已 。

其实不仅仅是中文有这个问题 , 到目前还有很多英文项目还只使用 ISO 8859-1 字符集 , 这个字符集只能使用英文 , 不得不说如果选用这个字符集同样也是非常短视的行为 。 都 2021 年 , 这个问题压根就不应该存在了 , UTF-8 目前基本是项目的标配 。