java 泛型 问号端向PHP发送中文显示为?问号,怎么解决

java向php post数据时, 中文显示问号问题
[问题点数:20分,结帖人templefox]
java向php post数据时, 中文显示问号问题
[问题点数:20分,结帖人templefox]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
相关推荐:
2013年5月 总版技术专家分月排行榜第一
2014年8月 总版技术专家分月排行榜第二2014年7月 总版技术专家分月排行榜第二2013年6月 总版技术专家分月排行榜第二
2013年5月 总版技术专家分月排行榜第一
2014年8月 总版技术专家分月排行榜第二2014年7月 总版技术专家分月排行榜第二2013年6月 总版技术专家分月排行榜第二
2013年5月 总版技术专家分月排行榜第一
2014年8月 总版技术专家分月排行榜第二2014年7月 总版技术专家分月排行榜第二2013年6月 总版技术专家分月排行榜第二
匿名用户不能发表回复!|
每天回帖即可获得10分可用分!小技巧:
你还可以输入10000个字符
(Ctrl+Enter)
请遵守CSDN,不得违反国家法律法规。
转载文章请注明出自“CSDN(www.csdn.net)”。如是商业用途请联系原作者。html滑动门兑现_java工作方向的疑惑?该怎么解决_php中文支持有关问题-小弟我用链接提交中文字段。接收到的是乱码。__脚本百事通
稍等,加载中……
^_^请注意,有可能下面的2篇文章才是您想要的内容:
html滑动门兑现
java工作方向的疑惑?该怎么解决
php中文支持有关问题-小弟我用链接提交中文字段。接收到的是乱码。
html滑动门兑现
AIX怎样把安装的软件添加成一个服务?比如现在安装了一个软件,启动时是到安装路径中运行startServer.sh但现在我想把startServer.sh做成一个系统服务,当开机时可以自动启动请求高手解决!!!!!!!!------解决方案--------------------没用过aix
你自己搜一下 或者参照一下系统本身的一些服务是怎样启动的 就应该能解决参考.cn/weibaozhishi/256.html
------解决方案--------------------/liheng_2009/blog/item/4ef39e4dd3b22.html
------解决方案--------------------
我是用Xmanager中的Xstart登的系统没有其他办法吗?-----------------------系统自动启动服务随系统启动而启动 随系统关闭而关闭
和你用啥工具登陆有啥关系?让你看看系统自身带的服务是如何启动的
你恐怕也根本没去研究。你看看你的系统有没有/etc/rc.local这个文件 如果有在里面追加一句/path/startServer.sh &试试
系统在你手上 就多尝试尝试 多看看 多琢磨琢磨呗http://fanqiang.chinaunix.net/a1/b7/800418.html
------解决方案--------------------你说你改了
就不能执行了 那说明你改错了呗
你又不说你改啥了
我没用过aix 不是很了解aix下是怎么添加自动启动服务的
但是单拿linux来说 只是把脚本放到/etc/rc.d/init.d/下 是不行的!还需要分别做链接到对应的启动级别下 才可以
在linux下用chkconfig可以帮你完成这个操作 可是在aix里缺没有如果你真搞不出来 问你公司的系统管理员啊 既然你用aix 应该是付费了的 向ibm求助啊
------解决方案--------------------那错误就是说没有权限
原来脚本是什么权限 你就弄什么权限啊 你拿服务要拿什么权限启动 我咋知道。还有 aix下的文件 你干嘛要拿到windows下来修改?有时候会造成编码问题和其他的字符问题(换行 回车)
------解决方案--------------------dos2unix filename
java工作方向的疑惑?该怎么解决
java工作方向的疑惑???做了3年多的java, 觉得自己java语言基础还不错, 对面向对象分析设计思想有着一定的理解, 设计能力还可以, 经常使用powerDesginer进行一些设计工作. 常用的设计模式也比较了解, 项目中也会经常使用. 服务端框架Spring, Hibernate用的很熟, 也看过原码. 一直在用oracle数据库, 平时也经常搞一搞优化, 也算有点心得吧.这些年一直搞手机wap开发, 一直负责后台代码编写工作. 现在有想换工作的想法, 可到网站上一看, 全是招SSH的, SSH现在真是火的不行啊, 全都是要求精通html, CSS, javaScript, jquery, ext, prototype等等可这些我都不会......
我也从来没想到, 作为一个java程序员, 要精通这么多的客户端技术.... 我原以为把服务端的技术累计的强力一点, 以后的路会很好走, 可现在发现, 全然不是这个样子....突然间失去方向感, 不知道以后要往哪个技术方向发展.....
是不是现在java只有做web最火, 不做web就要失业啊? 做wap到底有没有发展呢?个人很苦恼, 不知今后的房展方向应该是什么? 请高人指点......------解决方案--------------------帮楼主顶下,坐等指点。。
------解决方案--------------------我认为楼主应坚持自己的方向,深入下去,你就把你说的熟悉的技术精通,你就是金子了。
------解决方案--------------------貌似国内的发展和国外的发展不是同步的
------解决方案--------------------呵呵。。。我好象突然明白了一点。我们跟在一群蚂蚁身后一步步的爬,生怕掉队不赶懈怠一步,却不懂抬头看第一只蚂蚁的动向。。。
------解决方案--------------------就按照你当前走的下去 没问题的做服务端比纯做web强多了...
------解决方案--------------------大公司好像是前端后端分开的。不过一般公司,都要求Java会这些前端技术,尤其是一些富客户端技术。其实也挺简单的,楼主加油哦。我感觉你可以应聘像架构师,分析师之类的。祝你好运
php中文支持有关问题-小弟我用链接提交中文字段。接收到的是乱码。
php中文支持问题--我用链接提交中文字段。接收到的是乱码。。。。。php中文支持问题--我用链接提交中文字段。接收到的是乱码。。。。。
用链接提交:http://localhost/eat/test.php?act=FindRes&name=abc接收到不中文cba
程序: $name=$_REQUEST['name'];
$address=$_GET['address'];
页面显示:abc???????????cba
PS。。已经有这一行了。。。
&meta http-equiv="Content-Type" content="text/ charset=utf-8" /&
&/head&------解决方案--------------------虽然你 &meta http-equiv="Content-Type" content="text/ charset=utf-8" /& 了
但你的程序文件没有按 utf-8 编码保存------解决方案--------------------
虽然你 &meta http-equiv="Content-Type" content="text/ charset=utf-8" /& 了
但你的程序文件没有按 utf-8 编码保存
支持~------解决方案--------------------
虽然你 &meta http-equiv="Content-Type" content="text/ charset=utf-8" /& 了
但你的程序文件没有按 utf-8 编码保存
+1------解决方案--------------------用gbk吧
&meta http-equiv="Content-Type" content="text/ charset=gbk" /&------解决方案--------------------页面显示:abc???????????cba
这多半是 gbk 字符在 utf-8 页面中的表现------解决方案--------------------你发送页面 和 接收页面的编码都是一致的吗?------解决方案--------------------将的接受过来的值自己打印出来看看,不行的话urlencode试试
如果您喜欢IT行业或者对IT行业感兴趣,想开拓技术视野,欢迎加入本站官方QQ群:,在群里认识新朋友和交流技术^_^
本站联系邮箱:【求助】phpmyadmin。里面的汉字字段变成问号了。_Java123社区微信号:java123msg |||[][]当前位置: &
& 【求助】phpmyadmin。里面的汉字字段变成问号了。可能是insert数据的编码问题,你在cmd界面看看是否也这样,如果还这样,很可能就是入库时的编码与数据库编码不一致 页面是什么编码,改变下编码试试。 页面是utf-8.。在页面查看的
可能是insert数据的编码问题,你在cmd界面看看是否也这样,如果还这样,很可能就是入库时的编码与编码不一致
页面是什么编码,改变下编码试试。
页面是utf-8.。在页面查看的都还是汉字,只有在phpmyadmin里变成问号了。。cmd页面怎么看??
我刚看了下,别的表里有汉字的也成了??
把页面编码改为gbk试试看,dos下也可以进入看看是否乱码。
一切都源于没有执行&mysql_query('set&names&utf8');
mysql_query('set&names&utf8');&&把这句话加在文件的头部就可以吗?具体加在哪??
$conn&=&@mysql_connect('localhost','root','')&or&die('Could&not&connect:'.mysql_error());
mysql_select_db('test',$conn);
mysql_query("set&names&'GBK'");//加在这就好了
看看你的操作数据库代码。
我在数据库配置这找见一个设置编码的,已经有过设置了,还需要继续加上这句话吗?还是问题出在别的地方
这是我在本地测试的,就可以正常显示汉字
问题解决,不是编码的问题,是数据库的字符集错了。感谢各位顶一下(0)0%踩一下(0)0%------分隔线------上一篇: 下一篇: 栏目列表推荐内容PHP里,cookie与session相比,除了cookie保存在客户端,不占用服务端...1002人阅读
1.HessianPHP的DateTime问题
我在家使用时发现了问题,php上显示错误“Cannot redeclare class DateTime”。经调查发现,从PHP5.2开始php有了叫DateTime的类型,见文章http://laughingmeme.org //looking-at-php5s-datetime-and-datetimezone/,这就与HessianPHP包定义 的DateTime类冲突,所以导致了上面的错误。我在公司用的是php 5.0.x的版本没问题,在家用了php5.2.x的版本就有问题。
这就有问题,现在很多客户已使用了PHP的新版本,直接用就不行了,而HessianPHP也没有更新。所以目前只能自己解决。解决方法是:将 HessianPHP包中使用的DateTime的地方改成别的名字,如HessianDateTime,经我测试没问题了。
这个问题在其开源项目已有人提到,见http://sourceforge.net/tracker/index.php?func=detail&aid=1804163&group_id=126933&atid=707220,问题解决了,基本做法也是将两个文件里的名 字改了。
2. HessianPHP的中文字符编码问题
Hessian调用的中文问题,Java之间调用没有乱码问题,与其它主要语言(C#,Python)应该也是没问题的(未测试),但与PHP直接传输中 文字符串就有问题,双向都有问题。经研究,HessianPHP的实现有问题。另外,PHP本身对处理中文字符串有问题,PHP没有很好的支持 Unicode,PHP中的字符串是按字节处理的 。
目前解决方法,需要在php客户端和java服务端都做urlencode和urldecode编解码。因为编码后的传输只有ascii字符了,而ascii字符传输没问题。这样就解决了中文问题。
但这种方法有几个缺点:
需要客户端和服务端双方都要对中文做编解码。 服务端是向所有客户提供服务的,不只是php客户端。采用此方法后将使以后其它客户端访问此服务也需要编解码。
我对HessianPHP处理中文字符串错误,研究结果如下:
在HessianPHP包中,负责发送String是要用到HessianWriter类writeStringData方法,此类定义在Protocal.php文件中:
function writeStringData($value){
$this-&stream .= pack('n',strlen($value));
$this-&stream .= utf8_encode($value);
在Hessian协议中字符串是要以utf8编码方式传输的,所以这里原作者用了utf8_encode函数。但问题是utf8_encode是将 ISO-8859-1 编码的字符串转换为 UTF-8 编码,问题就是这里。如果我们用的php源文件本身就是utf8编码的,那么其中的中文字符串已经是utf8编码了(php只把字符串看作字节),再用 utf8_encode函数就等于把已经是utf8的内容又做了一次编码,所以收到的内容当然是乱码了。我在这里把utf8_encode函数去掉,直接 用$value,收到的就不是乱码。如我发送“韩国恺”,收到的内容是“韩国恺z”,可以看出问题就在这里。但又有问题了,“韩国恺”的后面多个一个
“z”,说明别的地方自然就少了一个“z”,“z”其实表示一个终结符,服务器端报错 “com.caucho.hessian.io.HessianProtocolException: hello: expected end of call ('z') at end of stream.”。推测可知,这个问题是前面计算字符串长度strlen($value)有误导致的问题,根据, 长度是按照16bit字符长度计算的,并不一定等于字节的数量strlen($value)。也就是说,长度应该是Unicode的字符数。而PHP中的
strlen函数其实只是得到了字符串的字节数,不是真正的字符数,中文是多字节的,当然有问题。清楚原因了,我们可以解决这个问题。很简单,将 strlen函数替换为我后面定义的utf8_strlen函数即可,utf8_strlen函数返回的是这个utf8编码的字符串的真正字符数,作用如同Java中String的length方法一样。最后,经我修改后,终于解决了php发送中文的乱码问题。修改后的代码如下:
function writeStringData($value){
$this-&stream .= pack('n',utf8_strlen($value));
$this-&stream .= $value;
另外,HessianPHP中,负责解析字符串的HessianParser类的readString方法也有问题,导致php收到的中文字符串也有问 题,变成了问号。有经验的人很清楚,一般将UTF-8/GBK等多字节编码转换为ASCII/ISO-8859-1的单字节编码时,不兼容的部分就会变成 问号了。通过查看Protocal.php文件HessianParser类的readString方法,可以看出作者已经考虑根据UTF-8读取字节的 问题,但是该方法的最后一句话“return utf8_decode($string);”就出了问题。utf8_decode函数是把字符串转成ISO-8859-1的编码,那当然中文就成了问
号!最后,只要改为“return $”就可以了。
终于,修改后的Hessian的PHP实现可以按照Hessian协议标准正常的收发中文字符串了!这是完全透明的。
这种方法才是从根本上解决了Hessian PHP的问题,完全没有前面解决方法的所有缺点。有点麻烦的是,要自己修改源文件的几个地方。我会向作者反映这个问题,希望以后版本能够改进,继续支持开源。
以上可以看出,HessianPHP的实现者在国际化(I18N)方面的理解上不够,没有正确理解php中utf8_encode和 utf8_decode函数。还可以看出PHP不支持Unicode真的很烂,比起其它Java等支持Unicode的语言要多走一些弯路。
实际上,PHP与Java的xml-rpc调用上也存在类似的问题,这可不是Java的问题。
我认为Hessian的PHP支持不好。下载的最新HessianPHP包中,显示有“HessianPHP 1.0.5 RC2 (PHP4 & 5) Release Date: ”,从06年开始就没有更新过了,只有少数人在维护,且支持处于不活跃状态。另外,文档不够详细,细节需要看源文件。如果遇到什么问 题,只能我们自己解决了,这是一种额外的负担。
除了使用Hessian作为rpc协议外,使用基本的RESTful的方式也可以很轻松的实现服务,比如通过http get或post方法把参数传过来,返回特定的xml或json格式的结果。这种方式非常简单、灵活,且语言、平台无关,不需要额外对中文编解码。
function utf8_strlen($str)
$count = 0;
for($i = 0; $i
& strlen($str); $i++)
$value = ord($str[$i]);
if($value & 127)
if($value &= 192 &&
$value &= 223)
$i++;
elseif($value &= 224
&& $value &= 239)
$i = $i + 2;
elseif($value &= 240 && $value &= 247)
$i = $i +
die('Not a UTF-8 compatible
$count++;
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:93448次
积分:1042
积分:1042
排名:千里之外
原创:39篇
转载:29篇
评论:11条
(1)(1)(1)(7)(14)(10)(1)(1)(1)(1)(1)(2)(1)(2)(1)(3)(1)(2)(2)(1)(1)(1)(2)(2)(1)(1)(1)(4)(1)

我要回帖

更多关于 java问号表达式 的文章

 

随机推荐