Heim  >  Artikel  >  Datenbank  >  mysql数据库乱码的解决方法

mysql数据库乱码的解决方法

WBOY
WBOYOriginal
2016-06-07 16:18:121016Durchsuche

做一个包含越南文的网站,用户说在保存包含越南文的文章时,MSYQL乱码了,看下面的解决方法 我自己测试一下,很多字符变成了 ?'。 数据库连接已经是使用了 utf8 字符集: 代码如下: define(MYSQL_ENCODE, UTF8); mysql_query('SET NAMES '.MYSQL_ENCODE,$con

 做一个包含越南文的网站,用户说在保存包含越南文的文章时,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

 

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn