关于页面编码问题的一点记录

页面编码是在做WEB开发时首要考虑的一个问题,最近做了一个Web项目,项目环境如下:

  1. 开发环境:
  • OS:windows xp
  • IDE:Netbeans 6.1+Macromedia Dreamweaver 8
  • 平台:jdk1.6 + IE7+FF3.0
  1. 布属环境:
  • OS:linux
  • 平台:tomcat 5.0+jdk1.5+mysql4.0

    页面当然分为html和jsp两种,其中,布属于windows环境下的页面不会存在问题,只要在开发时将html和jsp页面都默认为UTF-8(<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />)即可,当jsp在与servlet或jsp之间传递中文字符时只需要通过常用的String phone = new String(phone1.getBytes("ISO8859-1"),"gb2312"); 方法转换(注根据需要换ISO8859-1为UTF-8)。因为中文版windows系统是默认gb2312或gbk(gb2312是gbk的子集)。因此,若系统是布属在windows环境下,则可以将页面统一成gb2312字符集。

    可问题就在于若是而属在linux环境下的话,据我所知,linux默认的是ISO8859-1字符集,若能修改linux的默认字符集,当然是个好办法,但问题在于若是租用服务器,你根本不可能到人家系统里去改,呵呵呵,自适应吧!!!那么,对于html文件,由于ie对html的默认字符集是utf-8,因此,应将html的字符集改为utf-8(注意,最好用Dreamweaver 改,这样不会乱码)。若原来开发时即将jsp字符集默认为gb2312,则不用担心,IE会根据你页面的指定而决定浏览时采用何种字符集(但要注意,尽量一个工程中所有的jsp采用统一的字符集,便于管理)。

    对于mysql数据库,最好采用与页面相同的字符集,由于我的页面采用gb2312,所以,布属于linux下的mysql也应使其每个表的Charset为gb2312,Collation为gb2312_chinese_ci(字符的,另一个bin是二进制的,其实差不多,我选的这个),此处一定要记住,对于数据表中的TEXT型字段,和有可能存在中文字符的Varchar型字符,也必须将其字符集改为gb2312,保证存入和读取中文字符的准确性。

  总结,linux下,建议html采用utf-8字符集,当jsp是gb2312或gbk时也勿必使数据库也使用此种字符集,gb2312字符集范围较小,有些不常见的复杂汉字可能无法解释,即乱码。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值