易截截图软件、单文件、免安装、纯绿色、仅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               &


相关文档:

PHP中JSON的应用 南三方

互联网的今天,AJAX已经不是什么陌生的词汇了。说起AJAX,可能会立即想起因RSS而兴起的XML。XML的解析,恐怕已经不是什么难题了,特别是PHP5,大量的XML解析器的涌现,如最轻量级的SimpleXML。不过对于AJAX来说,XML的解析更倾向于前台Javascript的支持度。我想所有解析过XML的人,都会因树和节点而头大。不可否认,XML是很 ......

php 常量的作用域问题

PHP是脚本语言,边解析边执行。  
  <?php  
  define("COPYRIGHT",   "Copyright   &copy;   2000,   netleader.126.com");  
  echo   COPYRIGHT;      
  ?>  
  结果:  
  Copyright   & ......

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

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

mysql 存储引擎

这段时间在看《High Performance MySQL》,看到存储引擎这个地方感到很多细节比较陌生,所以总结小记一些
为了适应各种不同的运行环境,MYSQL提供了多种不同的存储引擎(Storage Engine
),在应用程序开发这个层面上,开发者可以根据不同的需求选择适合的Storage Engine
方案,更为灵活的是,你可以根据每张表将要存储数 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号