mysql数据库乱码的解决方法

 做一个包含越南文的网站,用户说在保存包含越南文的文章时,MSYQL乱码了,看下面的解决方法

 
我自己测试一下,很多字符变成了 ‘?'。
 
数据库连接已经是使用了 utf8 字符集:
 
 
代码如下:
define("MYSQL_ENCODE", "UTF8");
 
mysql_query('SET NAMES '.MYSQL_ENCODE,$conn) or die('字符集设置错误'.mysql_error());
 
 
 
搞了大半小时,没有搞定。
 
insert 的数据都是仍然乱码,突然想,是不是字段不能保存这些越南文。
 
我看一下数据库字符集,默认都是 gbk,这个对中文是没有问题的,一碰到越南文,就乱码了。
 
于是,我将可能用到越南文的字段的字符集修改为  utf8,校对修改为:utf8_unicode_ci。(这里一定要具体修改某个字段,修改整个表的字符集,不起作用,字段还是保留着原来的字符集)问题解决。
 
我的数据库为:php_college_web
 
表:city_article
 
用到越南文的字段:title,content
 
于是执行如下sql:
 
 
代码如下:
ALTER TABLE city_article CHANGE title title VARCHAR(100) CHARACTER SET utf8 COLLATE utf8_unicode_ci
 
ALTER TABLE city_article CHANGE content content text CHARACTER SET utf8 COLLATE utf8_unicode_ci
 

时间: 2024-11-15 21:37:47

mysql数据库乱码的解决方法的相关文章

java连接mysql数据库乱码的解决方法_java

解决方法一: mysql安装时候的编码, 看下my.ini,有无 复制代码 代码如下: [mysql] default-character-set=utf8 [client] default-character-set=utf8 [mysqld] default-character-set=utf8创建表的时候设置: DROP TABLE IF EXISTS `Company`; CREATE TABLE IF NOT EXISTS `Company` ( `Cname` VARCHAR(10)

php将图片保存入mysql数据库失败的解决方法_php技巧

本文实例分析了php将图片保存入mysql数据库失败的解决方法.分享给大家供大家参考.具体分析如下: 图片保存数据库并不是一个明智的做法,我们多半是把图片保存到服务器,然后把图片地址保存到数据库,这样我们每次只要读出图片地址就可以显示了,但下面我还是来介绍一个图片保存到mysql数据库的问题解决办法,代码如下: 复制代码 代码如下: require 'class/db.php'; $fileName = "a1.jpg"; $fp = fopen($fileName, "r&

PHP+MYSQL 出现乱码的解决方法_php技巧

肯定都已经解决了JSP里的乱码问题,不过还是有些人的MYSQL乱码问题没有得到解决,包括我自己,所以又找了一些资料,希望这次能完全解决MYSQL数据库的乱码问题.  第一种方法,很精辟的总结:  经常更换虚拟主机,而各个服务商的MYSQL版本不同,当导入数据后,总会出现乱码等无法正常显示的问题,查了好多资料,总结出自己的一点技巧:  WINDOWS 下导入应该这样  使用MYSQL的命令  在DOS命令下进入mysql的bin目录下,输入mysql -uroot -p密码 数据库名称<要恢复的数

PHP读MYSQL中文乱码的解决方法_php技巧

打算切换某个网站的主机,没想到遇到Php和Mysql中文乱码的问题. 以前的国外主机用的Mysql是4.x系列的,感觉还比较好,都无论GBK和UTF-8都没有乱码,没想到新的主机的Mysql是5.0版本的,导入数据后,用Php读出来全是问号,乱码一片,记得我以前也曾经有过一次切换出现乱码的经验,原因肯定是Mysql版本之间的差异问题. 只好查资料,发现了一个解决方法,就是在mysql_connect后面加一句SET NAMES UTF8,即可使得UTF8的数据库消除乱码,对于GBK的数据库则使用

快速解决PHP+MYSQL 出现乱码的解决方法

在mysql_connect后面加一句SET NAMES UTF8,即可使得UTF8的数据库消除乱码,对于GBK的数据库则使用SET NAMES GBK,代码如下:  代码如下 复制代码 1 $mysql_mylink = mysql_connect($mysql_host, $mysql_user, $mysql_pass); 2 mysql_query("SET NAMES 'GBK'"); 数据库字符集为utf-8 连接语句用这个    代码如下 复制代码 1 mysql_que

PHP读MYSQL中文乱码的解决方法

其MYSQL的默认字符集竟然是瑞典文(latin1_swedish_ci),害的我手动一个表一个表地修改字符集为Unicode多语言(utf8_unicode_ci). 只好查资料,发现了一个解决方法,就是在mysql_connect后面加一句SET NAMES UTF8,即可使得UTF8的数据库消除乱码,对于GBK的数据库则使用SET NAMES GBK,代码如下:  代码如下 复制代码 $mysql_mylink = mysql_connect($mysql_host, $mysql_use

CMD下查询Mysql中文乱码的解决方法

  今天在CMD下登陆Mysql执行select查询指令,结果中文全部变成"???"问号乱码了,解决方法很简单,直接在mysql>下输入 set names gbk; 即可解决问题. 原理不多说了,反正现在的人只要解决了问题就不会深究原因了...

php无法连接mysql数据库的正确解决方法_php实例

即使连接Mysql的语句正确,php也无法连接mysql数据库,出现如下图所示的结果: 首先是在Apache服务器的conf/httpd.conf下的任意位置都没有:PHPIniDir "php压缩目录"这一项. 如"C:/php-5.4.43-Win32-VC9-x86是php的压缩目录,应该有PHPIniDir "C:/php-5.4.43-Win32-VC9-x86" 之后,需要把php压缩目录,与php压缩目录/ext添加到环境变量Path值中.

php无法连接mysql数据库的正确解决方法

即使连接Mysql的语句正确,php也无法连接mysql数据库,出现如下图所示的结果: 首先是在Apache服务器的conf/httpd.conf下的任意位置都没有:PHPIniDir "php压缩目录"这一项. 如"C:/php-5.4.43-Win32-VC9-x86是php的压缩目录,应该有PHPIniDir "C:/php-5.4.43-Win32-VC9-x86" 之后,需要把php压缩目录,与php压缩目录/ext添加到环境变量Path值中.