PHP+Mysql多语言问题

以前做php程序的时候,基本不考虑多语言的问题,因为我们的客户基本都是用英语的,网站界面也都是英语,不需要考虑多语言问题。

不过最近发现数据库里多了很多乱码,都不知道客户提交了一些什么信息。刚开始以为是垃圾留言,或是发垃圾链接的。但后来发现数量越来越多,仔细研究一下,才发现是网站的程序和数据库在处理多语言问题上出了点问题。

下面介绍一下解决方法。

解决这个问题最重要的就是PHP和Mysql用的编码要一致,即都是UTF-8。

  • 数据库建立的时候要用UTF-8,数据表和字段都是UTF-8。
  • 页面编码要用UTF-8。即<meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″ />
  • PHP在提交数据的时候也要转换编码。即$db->query(“set names utf8”)或mysql_query(‘set names UTF8’)。注意,这里是UTF8,不是UTF-8。

这样,你的数据库中就不用有各种乱码了。

贾定强微信

微信扫一下,或点击链接添加好友