网站制作学习网经验与学习→正文:php导入sql server到mysql出错
字体:

php导入sql server到mysql出错

经验与学习 2011/2/17 17:06:13  点击:不统计

原载于:原文章%77w%77%2Ef%6F%72%61%73%70%2E%63n

用php导sql server到mysql出错,我用php的mssql和mysql连接导入中文数据出错。主要显示的是Incorrect string value: '\xB5'类似于'\xB6\xB6'\xBB \xBB\xBD\xBD之类的错误。可以肯定的是编码出错了,或者是utf-8或者是gbk,导入时数据不正常,或者是截断了汉字,导致插入到mysql不正常.

解决方案如下:
1.首先确定页面编码是gb2312的。
2.确定导入到mysql的数据库是gbk或者utf-8的,由于本页面和站点页面采用的是gbk的,说以确定导入的数据库编码以及字段编码是gbk的。
3.mysql_query("set names gbk");在插入到数据库之前一定要设置数据库连接编码。在此也设置为gbk的。

确定以上操作都没有问题后,运行,结果还是有Incorrect string value: '\xB5',这样的错误。而且发现所有插入数据都是4096长度的。莫非是从sql server读出来就不正常,后来输出内容发现,php连接sql server 输出内容最长为4096字符。当大于4096后会自动截断,就产生了半个汉字的编码导致导入到mysql数据库不正常。原文是网站制作学习网的FoAsP.cn

查看php.ini设置找到mssql的配置内容发下下面的设置:
; Valid range 0 - 2147483647.  Default = 4096.
;mssql.textlimit = 4096
; Valid range 0 - 2147483647.  Default = 4096.
;mssql.textsize = 4096
这两个一个是限制长度,一个是内容长度.将这两个分别设置为最大值,并去掉前面的“;”重启apache服务器。

再次运行导入数据的php文件。一路绿灯,执行成功。
得到经验:php连接sql server 读写默认是有字符长度限制,更改一下才能读写更长。


·上一篇:修改sina新浪编辑器默认字体 >>    ·下一篇:第一范式 >>
推荐文章
最新文章