我试图从JSP接收任何语言的文本并将其保存到数据库中。在我调试时,我可以看到文本已在servlet中收到,但是当我打印相同的变量时,我得到了?????。我试图将文本保存在静态变量中并尝试打印它。 字符串a =“नमस्ते”; 是System.out.print(a)中。
当我在doPost方法中执行此操作时,我得到了????在控制台中。 但是在同一个servlet中,如果我编写一个main方法并且这样做,我就得到了预期的输出。 我已将请求和响应类型设置为UTF-8。
这是我的代码
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("application/json;charset=UTF-8");
response.setCharacterEncoding("UTF-8");
request.setCharacterEncoding("UTF-8");
try {
String feedBack = null, prob = null;
String a = "नमस्ते";
System.out.println(a);
feedBack = request.getParameter("feedback");
System.out.println("Feedback is " + feedBack);
System.out.println("Feedback is " + a);
LogOut.log.error("In FeedbackServlet " + e);
}
catch(Exception e)
{
}
public static void main(String[] args) {
String a = "नमस्ते";
System.out.println(a);
}
在主要功能中,我在控制台上获取印地文字母,当执行doPost时,我得到????在控制台中为变量a。
答案 0 :(得分:0)
我附加了一些代码,你可以添加连接编码java文件然后将Hindi或tamil字插入db.It将插入。
连接jave文件代码如下
connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/schemaname?useUnicode=yes&characterEncoding=UTF-8&autoReconnect=true&zeroDateTimeBehavior=convertToNull", "username", "password");
从jsp获取参数,如控制器或辅助类,如下所示
String stateName = new String(ServletActionContext.getRequest().getParameter("stateName").getBytes("ISO-8859-1"), "UTF-8");
显示jsp第一行添加代码如下
<%@ page pageEncoding="utf-8" %>
如果在评论中添加任何错误,请告诉我