在下一台在国外的服务器,是Linux英文版的,在部分网页程序上往mysql数据库中插入,更新中文数据的时候,不管输入什么,都会变成个?问号.输入几个字符,变几个问号.环境:
Linux:Centos5.2英文版
php:5.0
mysql:5.0
网页文件编码:UTF-8
mysql字符集:UTF-8 Unicode (utf8)
链接校对:utf8_unicode_ci在下的测试结果是,在没有在mysql的查询语句前加入mysql_query("SET NAMES UTF8")的,皆会出现显示的错误.在不加mysql_query("SET NAMES UTF8")这句的前提下,是有办法可以解决显示问题的,我想,或许是mysql.cnf或者php.conf等配置文件中编码格式的设置不当,或者我的mysql字符集的设置不当.请教各位高手,如何解决这问题!?
Linux:Centos5.2英文版
php:5.0
mysql:5.0
网页文件编码:UTF-8
mysql字符集:UTF-8 Unicode (utf8)
链接校对:utf8_unicode_ci在下的测试结果是,在没有在mysql的查询语句前加入mysql_query("SET NAMES UTF8")的,皆会出现显示的错误.在不加mysql_query("SET NAMES UTF8")这句的前提下,是有办法可以解决显示问题的,我想,或许是mysql.cnf或者php.conf等配置文件中编码格式的设置不当,或者我的mysql字符集的设置不当.请教各位高手,如何解决这问题!?
解决方案 »
- AIX5.3 安装mysql5.1 出错
- 关于事件特定时间自动记录 问题,延续~~~~
- 请帮忙看看我的mysql怎么了
- 新手,想问一下关于多表的操作问题!
- 我想将自己机器上的MySQL数据库移动到别的机器上用,应该怎么做?
- 怎样插入字符串:o'o 到数据库呢?
- MYSQL下如何编译嵌入式程序?
- 有谁知道postgresql能不能在WINDOWS下运行?
- 使用用navicat连接mysql时r提示连接名localhost已存在(或已在其它navicat产品),请指定其定连接名
- PDOException: SQLSTATE[HY000]: General error: 2006 MySQL server has gone away
- 年月+日(日在列上) 化列为行
- postgresql返回数据集取不到数是怎么回事啊
+-------+----------------------------------------------------------------------
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
------------------+
| Table | Create Table |
+-------+----------------------------------------------------------------------
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
------------------+
| test | CREATE TABLE `test` (
`id` int(10) NOT NULL AUTO_INCREMENT,
`class` varchar(20) COLLATE utf8_unicode_ci NOT NULL,
`name` varchar(50) COLLATE utf8_unicode_ci NOT NULL,
`age` varchar(100) COLLATE utf8_unicode_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=13 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci+-------+----------------------------------------------------------------------
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
------------------+
1 row in set (0.02 sec)
检查你插入表的字段与表字符集是否一致
`name` varchar(50) COLLATE utf8_unicode_ci NOT NULL,
function query($sql,$con){
mysql_query("set names utf8",$con);
return mysql_query($sql,$con);
}
mysql_query("SET NAMES UTF8")
MySQL 中文显示乱码