输出语句看看。
有可能是你里面有些特殊字符没有处理,
而在PHPMYADMIN中会帮你处理掉的。
有可能是你里面有些特殊字符没有处理,
而在PHPMYADMIN中会帮你处理掉的。
解决方案 »
- mysql_fetch_array() 循环完后,是不是有个什么指针类似的指导最后一行了
- 麻烦大家解决这个大麻烦啊,谢谢
- 汉字没有被截取,为何却显示乱码?
- 实现注册时ID的先检测
- 我只是想在本地机上学习php ,还要安装Apache,和MySQl吗,只装PHP4.3.1 行不行
- w200+php+apache,我作了个php代码如下,帮我分析分析,为什么在浏览器中打开,还是全部显示其代码
- 求助我需要一个完整的Php表单提交的代码
- 怎样同时传递两个变量啊!
- 我在装windows版的Apache的时候,它问我的Network Domain和Server Name,我用的是动态IP,我该怎么填写?
- php怎么过滤掉智能ABC打出来的V11
- 购物车首页(购物页面)如何传值给购物车页面。
- 为什么我去不擀换行符?
插入后properties字段值为'宝石',应该是'宝石'才对,为什么会这样?
我把其中一条输出的SQL语句:INSERT INTO jyprice SET gameId='1',properties='宝石',proType='1',price='12'在phpmyadmin中执行是没有乱码的,mysql应该是已经支持中文了.
应该是程序的问题。你把这个sql语句打印出来然后看看源文件,看看中文是不是乱码。
INSERT INTO jyprice SET gameId='1',properties='宝石',proType='1',price='12'是在程序即将执行mysql_query($sql)时打印出来的sql语句,为什么执行后会成乱码???
这行字就是宝石的意思,不是乱码。你用dw自己写上一些内容看看源代码就知道了。
怎样用这个类来解决我的问题,我在生成sql语句时用$qswh->decode('宝石'),但结果还是不行,请高手帮帮我,急!!!
这个我用过...可以通过...
不过有更简单的方法---iconv函数。
宝石 就是 宝石
只不过他是采用了以文本格式表示的unicode代码
在includes.inc中定义了一个get函数所有读出数据都要在这里处理
function get( $exc, $data )
{
switch( $data['type'] )
{
// string
case 0:
$ind = $data['data'];
if( $exc->sst[unicode][$ind] ) {
return uc2html($exc->sst['data'][$ind]);//这就是编码处理。如果你需要,可以这里。但不建议那样做
}else
return $exc->sst['data'][$ind];
// integer
case 1:
return (integer) $data['data'];
// float
case 2:
return (float) $data['data'];
case 3:
return gmdate("m-d-Y",$exc->xls2tstamp($data[data]));
default:
return '';
}
}为什么不建议修改那里呢?
1、unicode编码覆盖了全世界的各种文字,中文只是其中一部分
2、一个excel文档可能包含各种文字,不能简单的都视为中文
如果非要指定只能接受中文,那我也没有办法
我在function get( $exc, $data )中修改如下:
return $qswh->decode(uc2html($exc->sst['data'][$ind]));//这就是编码处理。如果你需要,可以这里。但不建议那样做
为什么还是不行????
应该怎样才可以? 帮我改改,急呀!!!
2、$qswh是什么?在哪里实例化的?能传进get函数里吗?
3、uc2html函数定义为
function uc2html($str) {
$ret = '';
for( $i=0; $i<strlen($str)/2; $i++ ) {
$charcode = ord($str[$i*2])+256*ord($str[$i*2+1]);
$ret .= '&#'.$charcode;
}
return $ret;
}
就是说一个unicode编码的串经过uc2html后已经是文本形式的串了
4、再说我也不知道$qswh->decode是如何处理的
function uc2html($str) {
$ret = '';
for( $i=0; $i<strlen($str)/2; $i++ ) {
$charcode = ord($str[$i*2])+256*ord($str[$i*2+1]);
// $ret .= '&#'.$charcode;
$ret .= iconv("utf-8","gb2312",u2utf8($charcode));
}
return $ret;
}其中u2utf8为
function u2utf8($c) {
$str="";
if ($c < 0x80) {
$str.=$c;
} else if ($c < 0x800) {
$str.=chr(0xC0 | $c>>6);
$str.=chr(0x80 | $c & 0x3F);
} else if ($c < 0x10000) {
$str.=chr(0xE0 | $c>>12);
$str.=chr(0x80 | $c>>6 & 0x3F);
$str.=chr(0x80 | $c & 0x3F);
} else if ($c < 0x200000) {
$str.=chr(0xF0 | $c>>18);
$str.=chr(0x80 | $c>>12 & 0x3F);
$str.=chr(0x80 | $c>>6 & 0x3F);
$str.=chr(0x80 | $c & 0x3F);
}
return $str;
}
还有,有一个hebrevc函数可以将之转换成中文,但为什么在includes.inc里面用就没有任何反应!
谁能帮忙解决啊?