mysql_4.1/5乱码问题

 
ashchen ( 輝輝二星用户 该版得分小于等于30000分,大于10000分    2005-12-13 11:59:52 在  Web 开发 /  PHP 提问

网页编码是gb2312(如果网页编码是utf-8,php部分可以改成相应的)  
  【1】命令行,就是Mysql.exe  
  修改my.ini,  
  [mysql]  
  default-character-set=gb2312  
  (转贴请注明作者)  
  【2】php->mysql  
  1   可以修改my.ini的情况下,在[mysqld]添加或修改  
  init-connect='SET   NAMES   gb2312'  
  2   不能修改my.ini  
  可以在php   connect   mysql后执行mysql_query('SET   NAMES   gb2312;');  
   
  utf-8编码的文件要比gb2312大,如果网页只有简体中文,只面对国内,没必要转成utf-8  
  如果网站是多语言,可以考虑utf-8  
   
  mysql   4.1版本之后引入多字符编码,我的理解是不论数据库里采用那种编码,只要存入和取出的时候设置的编码相同就不会出现乱码。mysql增加了转码,就是你存入utf-8编码,取出的时候只要告诉mysql你要得到那种编码它就返回正确的结果  
  如果default-character-set=gb2312   那么就不能存utf8编码的字符,但它的好处是省空间,对数据量大的有用  
  默认编码是latin1编码,跟gb2312类似,无法插入utf-8编码字符,会提示Data   too   long   for   column   'xx'   at   row  
  所以网页要采用utf-8编码,数据库也要采用,utf-8编码的网页提交的数据也是utf-8的。  
  采用latin1或者gb2312,gbk的,只要告诉mysql它你想要的编码就能得到正果  
  语句就是  
  SET   NAMES   xxx;  
  SET   CHARACTER_SET   xxx;  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值