mysql中文随机码问题

mysql中文随机码问题
语言支持是从MySQL 4.1引入的,但用PHP插入的中文将是混乱的。没有使用代码。

解决这个问题很简单。

1。在建立表、代码类型设置为gb2312_chinese_ci。

2。一个数据库连接语句在PHP页面,一行mysql_query(设置 names'gb2312
db_host美元=localhost;
db_user美元=根;
db_password美元=密码
db_name美元=测试;

$link = mysql_connect(db_host美元美元美元,db_user,db_password);
mysql_query(设置 names'gb2312
$ db = mysql_select_db(db_name美元,美元的链接);
查询用户选择*;
结果= mysql_query美元($查询);

这一行添加到已写和读的页面中,以便mysql中的中文能够正确显示

相关信息:

MySQL 4.1引入了多语言支持,一些功能已经超出了其他数据库系统

支持的字符集(字符集)的mysql4.1有两个方面:字符集(字符集)和排序方法(整理),字符集的支持细化为四个层次:服务器(Server)、数据库(数据库)、数据表(表)和连接(连接)。

系统的字符集和排序方法的设置可以通过以下两个命令来设置:!

MySQL >显示变量like'character_set_ %;
-------------------------- ---------------------------- + + +
| variable_name |价值|
-------------------------- ---------------------------- + + +
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | latin1 |
| character_set_results | latin1 |
| character_set_server | latin1 |
| character_set_system | UTF8 |
| character_sets_dir | / usr /分享/ / / | MySQL字符集
-------------------------- ---------------------------- + + +
7行(0秒)
MySQL >显示变量like'collation_ %;
---------------------- ------------------- + + +
| variable_name |价值|
---------------------- ------------------- + + +
| collation_connection | latin1_swedish_ci |
| collation_database | latin1_swedish_ci |
| collation_server | latin1_swedish_ci |
---------------------- ------------------- + + +
3行(0秒)
上面列出的值是系统的默认值。(很奇怪怎么系统是latin1的瑞典排序方式)…

当我们通过PHP访问MySQL数据库的原始方式,即使我们设置表格是UTF8和UTF-8编码发送查询默认的字符,你会发现,数据库仍然是乱码。问题是在连接层。解决方法执行以下语句之前发送一个查询:

集names'utf8;

它相当于下面的四句话:

复制代码代码如下所示:

集character_set_client = utf8;

集character_set_results = utf8;

集character_set_connection = utf8;

集collation_connection = utf8_general_ci
因为默认的网页提交的查询是GB2312(元可以在表单网页看到),和MySQL获得为utf8(可以在这个时候character_set_client = utf8的检查),所以它一定是混乱的。同样,返回的结果通过MySQL已经转换成character_set_results编码(桌子,无关同一编码)默认是UTF8,和网页的时候,GB2312,所以必须由数据库读取字段标题乱码文字和其他的PHP部分不乱码现象。

解决(用剑雪):

当你安装mysql5.0,你需要选择utf8的字符集。当你创建数据库和现场用phpMyAdmin,你不需要选择UTF8字符集的排序,并把它在PHP建立连接。

复制代码代码如下所示:

$link = mysql_connect('localhost ','root ','root);

mysql_query(设置 names'utf8
在这个时候我们看到网络仍然是一个烂摊子,但它不是,查看网页的源是完全正常的。用记事本打开PHP源文件,不要保存为UTF8编码,然后刷新网页,都做过。

或者,当然,安装UTF8安装时,将设置names'gb2312'in PHP和PHP文件存为记事本的默认ANSI,它也可以显示中文正确。

但你不能总是送了一套names'utf8'every时间。如何解决这个问题是找不到的。

安装MySQL时,默认的字符集为utf8。然后它带来一个问题。当我们进入MySQL控制台command.exe,查询的结果成为一个随机码。我们可以在查询前输入它。

复制代码代码如下所示:

MySQL的设置names'gbk>;


复制代码代码如下所示:

MySQL的设置names'gb2312>;
等于告诉MySQL客户端使用GB2312字符集,得到的结果是正确的,和GB2312是GBK的子集。
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部