MYSQL/PHP/XAJAX/PHPMYADMIN字符集问题梳理
来源:互联网 发布:意大利海关数据 编辑:程序博客网 时间:2024/05/16 19:23
今天下午反复实验了一下午,虽然还没有完全总结好,不过先记一记.
先说经验:
1. xajax支持中文问题(0.2.5以上版本)
xajax默认使用uft-8字符集,不支持中文(奇怪,uft-8字符集应该支持中文), 解决办法主要有两种较为可行.
1) 修改 xajax.inc.php中的XAJAX_DEFAULT_CHAR_ENCODING,默认为uft-8,修改为gb2312.(经过测试修改成其他均无效).
2)不修改xajax.inc.php,而是在创建xajax对象时指定字符集.
$xajax = new xajax('','xajax_','gb2312');
另外xajaxResponse创建时也需要指定字符集
$resp = new xajaxResponse('gb2312');
以上两种方法均可顺利解决.网上其他方法比较混乱,未予测试.
2. 在xajax中调用MYSQL中的数据显示
1)根据反复试验,使用默认latin1字符集的MYSQL可以直接支持xajax输出,不需要做任何额外设置.而且用PHP脚本和命令提示符向表中插入数据时均无问题.唯一缺点是这样插入的中文在phpmyadmin下显示乱码,因为phpmyadmin用uft-8编码显示.(我想这对编程没有大的影响,因为phpmyadmin很少用来直接查看数据内容.用做表设计\维护等没有任何问题).
2)也可以使用UFT-8,但是在xajax中要正常显示必须首先执行:
mysql_query("SET CHARATER SET gb2312")
此种情况下通过phpmyadmin插入的数据在phpmyadmin下可以显示.通过PHP脚本插入的数据无法正常显示,但是可以直接在xajax 中显示而不需要执行上面的脚本.
以上主要是总结的经验.研究中也有另外一点心得.
(不一定正确,目前还在总结中,请勿迷信)
不管mysql的表中如何设置字符集,通过PHP脚本向表中插入数据时,数据的编码仍然是默认的编码.如latin1,而不是根据字段的字符集类型存储.如表的某个字段设置了uft-8作为整理,但是用PHP插入数据时仍然以latin1编码插入.
我认为,表的数据格式只是数据在表中存储时所用的格式,度取时仍按存入时的编码. 至于PHPMYADMIN中显示乱吗,我看大可不必理会.
3、设计表时直接不要用gb2312,经过试验,这个字符集极不好用。
总之,设计表时按照默认的latin1方式兼容性就很好。
先说经验:
1. xajax支持中文问题(0.2.5以上版本)
xajax默认使用uft-8字符集,不支持中文(奇怪,uft-8字符集应该支持中文), 解决办法主要有两种较为可行.
1) 修改 xajax.inc.php中的XAJAX_DEFAULT_CHAR_ENCODING,默认为uft-8,修改为gb2312.(经过测试修改成其他均无效).
2)不修改xajax.inc.php,而是在创建xajax对象时指定字符集.
$xajax = new xajax('','xajax_','gb2312');
另外xajaxResponse创建时也需要指定字符集
$resp = new xajaxResponse('gb2312');
以上两种方法均可顺利解决.网上其他方法比较混乱,未予测试.
2. 在xajax中调用MYSQL中的数据显示
1)根据反复试验,使用默认latin1字符集的MYSQL可以直接支持xajax输出,不需要做任何额外设置.而且用PHP脚本和命令提示符向表中插入数据时均无问题.唯一缺点是这样插入的中文在phpmyadmin下显示乱码,因为phpmyadmin用uft-8编码显示.(我想这对编程没有大的影响,因为phpmyadmin很少用来直接查看数据内容.用做表设计\维护等没有任何问题).
2)也可以使用UFT-8,但是在xajax中要正常显示必须首先执行:
mysql_query("SET CHARATER SET gb2312")
此种情况下通过phpmyadmin插入的数据在phpmyadmin下可以显示.通过PHP脚本插入的数据无法正常显示,但是可以直接在xajax 中显示而不需要执行上面的脚本.
以上主要是总结的经验.研究中也有另外一点心得.
(不一定正确,目前还在总结中,请勿迷信)
不管mysql的表中如何设置字符集,通过PHP脚本向表中插入数据时,数据的编码仍然是默认的编码.如latin1,而不是根据字段的字符集类型存储.如表的某个字段设置了uft-8作为整理,但是用PHP插入数据时仍然以latin1编码插入.
我认为,表的数据格式只是数据在表中存储时所用的格式,度取时仍按存入时的编码. 至于PHPMYADMIN中显示乱吗,我看大可不必理会.
3、设计表时直接不要用gb2312,经过试验,这个字符集极不好用。
总之,设计表时按照默认的latin1方式兼容性就很好。
- MYSQL/PHP/XAJAX/PHPMYADMIN字符集问题梳理
- php,mysql中字符集问题
- php mysql字符集乱码问题
- apache+php+mysql+phpmyadmin安装问题fix
- PHP - PHP与MYSQL的字符集问题
- 关于php和mysql字符集编码问题
- PHP+MySQL中字符集问题分析
- PHP+MySQL中字符集问题分析
- PHP Mysql 字符集及中文乱码问题
- php apache phpmyadmin mysql
- PHP+IIS+Mysql+PHPmyadmin
- phpmyadmin里MySQL字符集:cp1252 West European (latin1) ,解决乱码问题
- apache+mysql+php+phpmyadmin安装的一些问题
- MAC 配置Apache+Mysql+PHP+phpMyAdmin 及问题
- 解决phpmyadmin latin1字符集乱码问题
- 【php】Xajax Helloworld
- macos+apache+php+phpmyadmin 的整合过程梳理
- apache2+mysql+php+phpmyadmin配置
- CentOS 5.5升级内核到2.6.35.4
- 获取URL参数
- 创新工厂面试题详解:共打了多少鱼
- java中的双向链表
- ios 4.x上的工程编译在3.x上的运行时的问题
- MYSQL/PHP/XAJAX/PHPMYADMIN字符集问题梳理
- PHP连接 SQL Server2005 失败,Fatal error: Call to undefined function mssql_connect() in
- Silverlight中TreeView,TreeViewItem,HierarchalDataTemplate的详细用法
- 让IE9.0一下的IE浏览器全面支持html5和css3.0
- ACCESS连接字符串
- 可遍历的无锁队列
- C语言堆栈入门
- 安装sharepoint 2010 必备组件
- 动态选择屏幕