url传输乱码的解决方式
这里不针对在web服务器设置编码(考虑多个项目使用了不同的编码)
这里说一种解决方式
页面js代码
var queryVal = encodeURI(encodeURI("这里是需要传输的中文字符"));
var url = "..."+"?queryVal="+queryVal;
window.location = url;
//js里面需要传输两次加密操作,这里会默认加密成UTF-8的形式
下面是java里面的代码,先做一次解密操作(这里还原成可以识别认识的字符了),
String newQueryVal = "";
try{
queryVal = URLDecoder.decode(queryVal,"UTF-8");
}catch(Exception e){
logger.error("查询时候出现中文乱码,不能正常解析字符串,错误信息:"+e.getMessage());
}
处理完成后再做一次加密操作(一边回传到页面上为可以识别的字符,当然这里传输过去也是以百分号方式的字符了)
特别是当java中处理分页形式的时候,这样能够解决乱码问题
try{
queryVal = URLEncoder.encode(queryVal,"UTF-8");
}catch(Exception e){
logger.error("查询时候出现中文乱码,不能正常解析字符串,错误信息:"+e.getMessage());
}
综上,在没有统一设置字符编码的时候这样是一种解决方式,笔者所在的项目中就没有统一设置这样的字符编码,所以必须对有中文传输的url做这样一个特别处理
另外对于js中对于textarea值域中的回车符回显时候的初始化js操作,
不能直接赋值给js变量,而是先赋值给一个textarea隐藏域,通过这个隐藏域再赋值给真实域
例如这里有js赋值操作,不适用上面的直接复制,会引起js换行错误,而是采用下面的间接赋值方式,即先给一个隐藏域,再赋值给后面这个真实域
这里只是举例说明这样的应用,有人会说直接赋值给真实域即可,有些应用需要通过js赋值,这是需求
<s:iterator value="userList">
//document.getElementById("userinfo<s:property value='userId'/>").value = "<s:property value='userDescription'/>";
document.getElementById("userinfo<s:property value='userId'/>").value = document.getElementById("userinfotemp<s:property value='userId'/>").value;
</s:iterator>
<s:iterator value="userList">
<textarea name="userinfotemp<s:property value='userId'/>" id="userinfotemp<s:property value='userId'/>" style="display:none;"><s:property value='userDescription'/></textarea>
</s:iterator>
分享到:
相关推荐
当用户在`textarea`中按下回车键时,浏览器会将其识别为换行符(`\r\n`),这在JavaScript读取`textarea`的值时也会体现出来。然而,在后续的数据处理过程中,例如在业务逻辑层将这些值转换成字符串形式并存储到...
我到公司后先测试一下客户给我的错误示例(果然搜不到),然后排查一下昨天的数据是否有问题,发现昨天客户用excel导入的数据中,存在很多\r\n这种换行符和回车符。 如:库中数据为:“换行符\n换行符\n换行符”,...
### Swing中文乱码问题(Linux和Windows) #### Linux系统下的解决方案 在Linux系统下使用Swing进行GUI开发时,可能会遇到中文乱码的问题。解决这一问题通常需要对系统的编码环境进行适当的配置。以下是一个详细的...
jQuery-easyui textarea回车导致 数据无法展示的问题
‘↵’是回车符’/n’,这段内容是通过textarea人为编辑,提交给后端保存的。编辑框中可以识别的字符,在普通的标签里面没办法识别到,所以要转换成可以识别的 方法1 string.replace(/(rn|n|r)/gm, ) 然后再用...
通过上述方法,可以有效地解决Flex在非主应用程序环境中textarea和input控件无法正常输入中文的问题。首先通过设置 `<object>` 或 `<embed>` 标签的 `wmode` 属性来改善与浏览器的交互,然后通过调整Flex应用的背景...
在JSP开发中,中文乱码是一个常见的问题,主要源于Web容器默认采用ISO-8859-1字符集,无法正确处理中文字符。本文将详细介绍三个常见的JSP中文乱码例子及其解决方法。 实例一:JSP页面显示时的乱码 在JSP页面直接...
如果设置了`wrap="soft"`,则`textarea`中的文本将会软换行,即当文本超出容器宽度时会自动换行到下一行,但这种换行并不会作为真正的换行符保存在提交的数据中。 ```html <textarea wrap="soft" style="width: 200...
对于中文文件名的处理,需要在URL中正确编码中文字符,一般使用`encodeURIComponent()`函数进行编码,服务器接收到请求后解码并返回正确的文件。如果服务器支持动态设置文件名,还可以在HTTP响应头的`Content-...
值得注意的是,虽然这段代码提供了在Java环境中处理TextArea换行问题的一个具体示例,但在实际开发中,换行处理还可能涉及更复杂的逻辑,例如自动换行、软换行与硬换行的区别、换行符的编码和解析等。在不同的应用...
在 Javaweb 开发中,接收表单数据并处理中文乱码是非常重要的。下面我们将详细介绍如何在 Javaweb 中接收表单数据并处理中文乱码。 首先,让我们了解一下表单数据的类型。常见的表单项包括普通input、单选radio、...
默认情况下,当用户在`textarea`中按下回车键时,浏览器会插入一个`\n`(换行符)来表示新行。对于空格,连续的多个空格在HTML渲染时会被合并为一个空格。在后端处理或存储这些数据时,可能需要进一步的转换。 1. *...
在JavaScript编程中,获取和设置光标位置是常见的需求,特别是在与用户交互的表单元素如`<input>`和`<textarea>`中。这涉及到DOM(文档对象模型)操作和事件处理,对于创建动态和响应式的网页应用至关重要。本文将...
\n/g`匹配并替换所有回车符。 总结起来,正确使用`<textarea>`标签的语法以及合理配置其属性,结合JavaScript进行后端处理,可以帮助我们有效地管理和控制用户在`textarea`中的输入,从而避免多余的空格和回车。...
此外,为了防止编码问题,例如中文乱码,需要设置请求和响应的字符集。在JSP的头部添加以下代码: ```jsp ; charset=UTF-8" pageEncoding="UTF-8"%> ``` 这确保了请求和响应的编码为UTF-8。 总之,通过在JSP中...
` 定义了`textarea`中文字的字体和大小,确保了文本的可读性和一致性。 - `height: 160px;` 和 `width: 100%;` 控制了`textarea`的高度和宽度,使其适应不同的屏幕尺寸和布局需求。 #### 外边距与内边距 - `margin...
在实际应用中,`textarea`的内容可以通过JavaScript动态设置,这使得可以实现动态加载或者根据用户行为改变`textarea`的内容。例如,通过`document.getElementById('example').value = '新文本';`可以改变`textarea`...
《TextArea_HTMLEditor 编辑器学习指南——探索EXTJS中文版的奥秘》 在Web开发领域,富文本编辑器是不可或缺的一部分,它允许用户以类似Word的方式编辑网页内容。EXTJS作为一款强大的JavaScript框架,提供了丰富的...
问题描述: 比如get数据到一个TextArea里面,如“AAA BBB”,想把这段文字在TextArea里面真正按行存放,而不是显示出来按行存放(所谓的真正按行存放就是,再把这个TextArea的数据post到另外一个页面的Textarea里面...
“Textarea Fullscreen”插件,正如其名,旨在将普通的textarea扩展到浏览器的整个视口,允许用户在无干扰的环境中进行文本编辑。这个插件只有5KB大小,这意味着它对页面加载速度的影响极小,对于注重性能的网站来说...