重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
你看一下这个字段的编码是不是和你存进去的字符编码一样,不一样的话是存不进去
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:主机域名、虚拟主机、营销软件、网站建设、蕉岭网站维护、网站推广。
中文编码涉及到三个问题:
一个是页面的输出就是header('Content-type: text/html;charset=utf-8');
还有就是文件本身的编码,用专业的编辑器工具比如editplus编辑,保存时另存为,选择编码格式的下拉列表找到UTF-8。
最好就是保存到数据库时,注意数据库的编码格式是否和你的页面一致。
你的问题可能是数据库连接时未指定字符集:$conn-query("set names utf8");
详细如下:
将中文字符转换一下,可能你的网页编码是ansi非utf-8的:
$w=iconv("gb2312","utf-8",$w);
不过我不确定这样做你能否成功。关于字符有以下几点你看下:
数据库连接时: $conn-query("set names gbk");
数据库的字符集:建议建立数据库时就指定字符集,比如gbk或者utf-8,这样你就没必要为单独的表或者字段指定字符集
网页字符:META CONTENT="text/html; charset=gbk" HTTP-EQUIV="Content-Type" /
保持着三者使用的字符集一样,基本能解决你的问题。
当然,在使用ajax时。js传递过来的是utf-8,如果你的php文件和数据库使用的是中文字符集如gbk,gb2312,那么就需要对该值用iconv函数转换下字符集,如:$w=iconv("utf-8","gb2312",$w);
总之,需要这几块的字符集保持一致。
要解决乱码首先需要知道出现乱码的原因:
一、PHP+MySQL出现中文乱码的原因。
1. MYSQL数据库的编码是utf8,与PHP网页的编码格式不一致,就会造成MYSQL中的中文乱码。
2. 使用MYSQL中创建表、或者选择字段时设置的类型不是utf8,而网页编码不是utf8,也可能造成MYSQL中文乱码.
3. PHP页面的字符集与数据库的编码不一致。
4. PHP连接MYSQL数据库,操作是设定的语句指定的编码和页面编码,PHP页面编码不一致。
5. 用户提交的HTML页面编码,和显示数据的页面编码不一致 ,就肯定会造成PHP页面乱码.
二、解决中文乱码:
1. 网页编码设置。一般在HTML代码中的文件头html中加入属性:
meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″
保证,网页是"utf-8"编码。
2. PHP代码设置。在php代码的开始部分加入以下代码:
header(”Content-type: text/html;charset=utf-8″);
且要求保存的文件编码方式是utf-8,这样就保证了该文件也是utf-8编码。
3. 数据库中表的字段中存储中文的部分,要设置为utf8_general_ci类型。
4.PHP在连接数据库操作时,要设置操作的字段类型为utf8,设置方法如下:
mysql_connect(’localhost’,'user’,'password’);mysql_select_db(’db’);mysql_query(”set names utf8;”); //**设置字符集***
你这不是可以正常输出吗,
你这只是乱码吧,
你可以看一下这篇文章网页链接