[size=x-large] 再用php向mysql中插入中文时常常遇到乱码问题!下面给出我的解决办法,希望能解决你的问题
我的是在apmserv的环境下!
数据库操作:CREATE TABLE `v` (
`id` int(6) NOT NULL AUTO_INCREMENT,
`phone` bigint(12) NOT NULL,
`name` varchar(50) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
`sushe` varchar(50) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
`zhuanye` varchar(100) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
`zhuangtai` varchar(100) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
`time` datetime NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=100;
这里的utf8不能写成utf-8,原因不是很清楚!
PHP文件:mysql_query('set names utf8');记住这个声明编码,这里的utf8也不能写成utf-8,自己试过的,会出现乱码!因为我的是写入文件内容的,所以我的文件使用utf-8编码的!!这个可以用记事本打开你的文件,然后另存为,改变文件的编码![/size]
我的是在apmserv的环境下!
数据库操作:CREATE TABLE `v` (
`id` int(6) NOT NULL AUTO_INCREMENT,
`phone` bigint(12) NOT NULL,
`name` varchar(50) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
`sushe` varchar(50) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
`zhuanye` varchar(100) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
`zhuangtai` varchar(100) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
`time` datetime NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=100;
这里的utf8不能写成utf-8,原因不是很清楚!
PHP文件:mysql_query('set names utf8');记住这个声明编码,这里的utf8也不能写成utf-8,自己试过的,会出现乱码!因为我的是写入文件内容的,所以我的文件使用utf-8编码的!!这个可以用记事本打开你的文件,然后另存为,改变文件的编码![/size]
本文介绍了一种解决PHP向MySQL插入中文时出现乱码的方法。通过设置正确的字符集和collation,确保PHP脚本与数据库之间的字符编码一致,避免了中文乱码的问题。
167

被折叠的 条评论
为什么被折叠?



