function buildRequestForm($para_temp, $method, $button_name) {
//待请求参数数组
$para = $this->buildRequestPara($para_temp);
$sHtml = "
";$sHtml .= "";
//submit按钮控件请不要含有name属性
// $sHtml = $sHtml . "";
$sHtml = $sHtml . "
";$sHtml = $sHtml."";
return $sHtml;
}
缘由参考了如下
http://www.360doc.com/content/11/1125/09/8157240_167208721.shtml
=>任意给定的3个汉字
=>UTF-8使用9个bytes编码之(123|456|789)
=>这9个bytes经过网络传给tomcat
=>tomcat认为这9个字节是gbk编码(由于你配置了tomcat)
=>gbk汉字编码规则12|34|56|78|9
=>构建string时至少最后一个字节不能正确解析为汉字,此时使用?代替
=>在对这个至少带一个问号的string.getBytes("gbk")时,确定将出现问号ascii码(63)的byte
=>以utf-8构造string时,遇到63的地方确定输出?
=>产生了你说的现象
须要在form前面加上编码,就能够了.还有别的要
还有utf-8的字符截取问题,截取的长度参考https://www.cnblogs.com/secondtononewe/p/6132923.html