易截截图软件、单文件、免安装、纯绿色、仅160KB

php+mysql乱码问题

问题描述:
从php界面insert数据到mysql,只能输入偶数个汉字不能输入奇数个汉字,输入奇数个汉字后报“Data too long for column ”错误,并没有更改数据库数据。到数据库查看,发现汉字都是乱码。但是php界面显示汉字正常(当然显示的都是偶数个汉字,奇数个汉字都没有写入数据库)。
解决思路:
1.更改my.ini文件,把sql-mode=”STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION”改成sql-mode=”NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION”(就是去掉STRICT_TRANS_TABLES)。重启mysql。
这样做的结果是,不会报“Data too long for column ”,于是奇数个汉字就能存入数据库。但是php界面显示奇数个汉字的地方出错,根据错误可以发现是汉字解析时把部分代码误认一并解析了,所以php界面显示不正常。这说明是汉字转换的错误(对于汉字UTF8则需要3 Bytes而ANSI/Unicode/UCS2编码都只用2 Bytes,此时输入汉字的个数为2个时数据库里的乱码是3个,说明1个乱码是2 Bytes,解析到界面时没有缺失所以可以正常显示;而输入汉字的个数为1个时数据库里的乱码是1个,说明变乱码时失去了1 Byte,解析到界面时有缺失所以不能正常显示)。
2.写一个关于insert或update奇数个汉字的test.sql文件存成utf8放在C盘。在mysql里执行source c:/test.sql;
结果发现仍然是乱码。所以确定mysql的character设置有问题。
3.学习修改mysql的character设置。
MySQL 4.1以上版本的字符集支持(Character Set Support)有两个方面:字符集(Character set)和排序方式(Collation)。对于字符集的支持细化到四个层次: 服务器(server),数据库(database),数据表(table)和连接(connection)。我们最终的目标是使得这四个层次转化会支持中文的编码。
命令一:mysql> SHOW VARIABLES LIKE ''character_set_%'';
          查看系统的字符集,结果如下
          +--------------------------+---------------------------------------------------------+
          | Variable_name            | Value               &


相关文档:

23本mysql电子书


mastering Phpmyadmin

Beginning Php And Mysql程序设计

Beginning PHP and MySQL from Novice to Professional 3rd Edition

Head First PHP MySQL

MySQL入门经典

MySQL Stored Procedure Pr ......

分享一个PHP分页代码

<?php
//调试输出信息
$pageCount=15;
for($i=1;$i<=$pageCount;$i++){
dump(GetPageRange($i,$pageCount),$i);
}
//$currentPage 当前页码
//$pageCount 总页数
//$leftSize 左侧页码范围
//$rightSize 右侧页码范围
//返回页码区间数组
function GetPageRange($currentPage,$pageCount,$leftSize=3, ......

windows 7 下安装apache php 和mysql的一些问题。

在windows下安装amp网上的介绍很多了。
我这里只说些关键的部分,一方面作为笔记,另一方面和大家共享。
1.安装apache
   a.这里要注意,在刚开始填写主机域名时,如果你没有域名,就在本地安装,那就填写本机ip行了。(我觉得填写127.0.0.1更好,具体我没试过)
   b.apache 的默认端口是80,我的 ......

深入分析几种PHP获取客户端IP的情况


PHP获取客户端IP的情况分为:没有使用代理服务器的情况、使用透明代理服务器的情况、使用普通匿名代理服务器的情况、使用欺骗性代理服务器的情况、使用高匿名代理服务器的情况。
在这篇文章中,我们将会为大家详细介绍PHP获取客户端IP的几种情况分析。我们在使用PHP获取的IP可能是客户端真实的IP,也可能是代理服务器的I ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号