我试图从JSP接收任何语言的文本并将其保存到数据库中

时间:2014-02-12 03:30:59

标签: java jsp servlets

我试图从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。

1 个答案:

答案 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" %>

如果在评论中添加任何错误,请告诉我