关闭

php插入到mysql数据库中文乱码问题解决

发表于:2015-6-26 11:42

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:钢铁侠Mac    来源:51Testing软件测试网采编

  今天重装了系统重新安装了PHP的运行环境,也没注意太多,想写点东西复习复习……当我用INSERT INTO想数据表里添加数据的时候,发现数据只要是中文的都是以乱码显示的,于是我在网页中规定了语言为gbk发现还是不行,在网上查了半天做了一下总结:
  1.php页面要保存为UTF-8的编码格式。
  2.php在数据提交的是要用UTF8。
  3.MYSQL创建表的时候要用ENGINE=MyISAM DEFAULT CHARSET=utf8;
  举例(由于我懒得写,网上的这个例子感觉还挺清楚的):
  建表:
  Create TABLE `net_city` (
  `cityid` smallint(4) NOT NULL auto_increment,
  `cityname` varchar(80) NOT NULL default '',
  `provinceid` smallint(2) NOT NULL default '0',
  `inarea` varchar(5000) NOT NULL default '',
  `outarea` varchar(5000) NOT NULL default '',
  `tel` varchar(400) NOT NULL default '',
  PRIMARY KEY (`cityid`)
  ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
  PHP里的代码:
  $conn=mysql_connect("localhost", "用户名", "密码");
  mysql_query("set names 'utf8'",$conn);
  mysql_select_db("数据名",$conn);
  $exec="insert into net_city (cityname,inarea,outarea,tel) values ('".$link_cityname."','".$link_inarea."','".$link_outarea."','".$link_tel."')";
  $result=mysql_query($exec,$conn);
  if($result){
  echo "1";
  }else{
  echo "0";
  }
  mysql_close($conn);
  后来我试了试全部都用成gbk的,也是可以的~
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号