C++通过POST方式URL链接传值到JAVA中文乱码

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++通过POST方式URL链接传值到JAVA中文乱码相关的知识,希望对你有一定的参考价值。

C++作为客户端,JAVA为服务端,POST方式请求,中文乱码

这是我在做web开发时候遇到的乱码问题的一些解决方案,我感觉无非就这么几种了吧:

1.显示把form表单的提交方式改为post
2.jsp页面添加:
<%@ page language="java" import="java.util.*" contentType="text/html; charset=GBK" pageEncoding="GBK"%>
3.struts2.xml中添加<constant name="struts.i18n.encoding" value="GBK"/>'
4.在web.xml中添加字符编码过滤器
5.通过javascript传递参数如果有中文:
使用编码URL的方式来防止乱码
function returnToLast(id, name)
opener.document.location.href=encodeURI("addActivity.action?ID=" + id + "&name="
+ name + "");
参考技术A //加上下面的代码试试
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");

MVC Controller传值到View的几种方式总结

Controller中的代码如下

var bingo = new Web1.Models.Bingo()
            {
                Title = "测试",
                desc = "嘻嘻",
                StarTime = DateTime.Now,
                EndTime = DateTime.Now.AddDays(7),
                startPrice = 100,
                currentPrice = null

            };

如何将bingo传到view中进行调用呢,大致有如下:

  1. Controller使用 ViewData,代码如下
ViewData["abingo"] = bingo;

调用

@{

    var bingo =ViewData["abingo"] as Web1.Models.Bingo;
}

或者viewbag对象,就可以在view里就可以使用对象了

@{

    var bingo = ViewBag.bingo;
}

  2.在Controller中直接将对象传给view

return View(bingo);
//原来是return View();

然后在view里面调用如下代码即可

@{

    var bingo = Model;
}

写成 下面的内容,则model的引用都会变为类实例的强引用

@model Web1.Models.Bingo
@{

    var bingo = Model;
}

以上是关于C++通过POST方式URL链接传值到JAVA中文乱码的主要内容,如果未能解决你的问题,请参考以下文章

如何解决 jsp 中url传值的中文乱码问题

URL传值和form表单提交的区别和原理

MVC中使用Ajax提交数据 Jquery Ajax方法传值到action

C#中使用post方法传参

jsp页面传值给另一个jsp页面,怎么接收

visual c++ 中 怎样把子窗口传值到父窗口?