Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/111.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsp 如何使用Spring4 MVC对印地语数据执行CRUD操作?_Jsp_Spring Mvc_Utf 8_Character Encoding - Fatal编程技术网

Jsp 如何使用Spring4 MVC对印地语数据执行CRUD操作?

Jsp 如何使用Spring4 MVC对印地语数据执行CRUD操作?,jsp,spring-mvc,utf-8,character-encoding,Jsp,Spring Mvc,Utf 8,Character Encoding,我想用Spring4MVC和MySql数据库制作一个印地语的小网站。当我试图将印地语文本存储到数据库中时,它会像'a¨a¨a¨a¨a¨a¨a¨a¨a¨a¨a¨a¨a¨a¨a¨a¨a¨a¨a¨a¨a¨a¨a¨a¨a¨a¨a¨a¨a¨a¨aराकेश मुकेश महेश'. 我该怎么做 我的项目配置和编码如下 public class AppConfig extends WebMvcConfigurerAdapter { @Bean public ViewResolver vie

我想用Spring4MVC和MySql数据库制作一个印地语的小网站。当我试图将印地语文本存储到数据库中时,它会像'a¨a¨a¨a¨a¨a¨a¨a¨a¨a¨a¨a¨a¨a¨a¨a¨a¨a¨a¨a¨a¨a¨a¨a¨a¨a¨a¨a¨a¨a¨aराकेश मुकेश महेश'. 我该怎么做

我的项目配置和编码如下

public class AppConfig extends WebMvcConfigurerAdapter {

    @Bean
    public ViewResolver viewResolver() {
        InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
        viewResolver.setViewClass(JstlView.class);
        viewResolver.setContentType("text/html;charset=UTF-8");
        viewResolver.setPrefix("/WEB-INF/views/");
        viewResolver.setSuffix(".jsp");
        return viewResolver;
    }

    @Bean
    public MessageSource messageSource() {
        ResourceBundleMessageSource messageSource = new ResourceBundleMessageSource();
        messageSource.setBasename("messages");
        return messageSource;
    }

    @Bean
    public CommonsMultipartResolver multipartResolver() {
        CommonsMultipartResolver resolver=new CommonsMultipartResolver();
        resolver.setDefaultEncoding("utf-8");
        return resolver;
    }

    @Bean
    public StringHttpMessageConverter stringHttpMessageConverter() {
        return new StringHttpMessageConverter(Charset.forName("UTF-8"));
    }

    public void addResourceHandlers(ResourceHandlerRegistry registry) {

          registry.addResourceHandler("/css/**")
            .addResourceLocations("/css/");
          registry.addResourceHandler("/images/**")
            .addResourceLocations("/images/");
          registry.addResourceHandler("/js/**")
            .addResourceLocations("/js/");
          registry.addResourceHandler("/uploadedContents/**")
            .addResourceLocations("/uploadedContents/");
          registry.addResourceHandler("/fonts/**")
            .addResourceLocations("/fonts/");
    }
}

AddCard.jsp

<head>
<title>Marriage-Card | Add new marriage card</title>
<!-- for-mobile-apps -->
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="keywords" content="#" />
<head>... </head>
<body>
    <section id="main_container" style="min-height: 1024px;">
        <div id="job_post_panel" class="panel panel-primary">
            <div class="panel-heading">नया निमंत्रण कार्ड बनायें ...</div>
            <form:form action="addCard" method="post" commandName="card" id="job_post"
                name="job_post">
                <table class="input-container">
                    <tbody>
                        <tr>
                            <td class="column-name"><form:label path="marriageVanue"> स्‍थान</form:label>
                            <td class="input-text"><form:input path="marriageVanue"
                                    class="text" placeholder="स्‍थान भरें ..." />
                        </tr>
                        <tr>
                            <td class="column-name"><form:label path="darshanAbhilashi"> दर्शनाभिलाषी</form:label>
                            <td class="input-text"><form:input type="text" class="text"
                                    path="darshanAbhilashi" placeholder="दर्शनाभिलाषी  भरें ..." />
                        </tr>
                        <tr>
                            <td class="column-name"><form:label path="swagatUtsuk">स्‍वागतोत्‍सुक</form:label>
                            <td class="input-text"><form:input type="text" class="text"
                                path="swagatUtsuk" placeholder="स्‍वागतोत्‍सुक के नाम भरें ..." />
                        </tr>
                        <tr>
                            <td class="column-name"><form:label path="vinit">विनीत</form:label>
                            <td class="input-text"><form:input type="text" class="text"
                                path="vinit" placeholder="विनीत  के नाम भरें ..." />
                        </tr>

                        <tr>
                            <td class="btn-row" colspan="2"><input class="btn-submit"
                                type="submit" value="Submit" /></td>
                        </tr>
                    </tbody>

                </table>
            </form:form>

        </div>

        </section>
</body>
<html>

结婚卡|添加新的结婚卡
... 
नया निमंत्रण कार्ड बनायें ...
स्‍थान
दर्शनाभिलाषी
स्‍वागतोत्‍सुक
विनीत
输入数据:

存储在数据库中的数据


添加Servlet筛选器以指定请求的字符编码。这可能是你的问题

e、 g


您如何查看存储在数据库中的数据?什么节目?它有编码选项吗?换句话说:根据这个问题,似乎您在数据库中正确地存储了UTF-8数据,因此没有问题。但您需要修复数据库客户端才能正确查看。我正在使用MySQL Workbench 5.2查看存储的数据,我已经为数据库选择了“utf8\u general\u ci”编码选项。嘿,如果我使用RequestMethod.GET,那么它可以正常工作,但使用POST方法则无法正常工作,我如何解决此问题?最后我找到了解决方案,问题是关于tomcat服务器配置的。我已经使用此链接编辑了服务器>tomcat v8.x>web.xml是的,它正在工作,谢谢@Tim Mickelson,但是有没有没有没有xml编码的替代解决方案?我用一个示例更新了我的答案,说明了如何在Java@配置中注册过滤器。我没有测试过,但你应该按照这个方向去做。
public class CardOperationController {

    @Autowired
    private CardService cardService;

    @RequestMapping(value = "addCard.html", method = RequestMethod.GET)
    public String getAddNewCardPage(Model model){
        model.addAttribute("card", new MarriageCard());
        return "AddNewCard";
    }

    @RequestMapping(value="addCard",method=RequestMethod.POST,produces = "text/plain;charset=UTF-8")
    public String addNewCard(@ModelAttribute("card")MarriageCard card,Model model,HttpServletRequest request){

        // method to persist card details..
        cardService.addNewCard(card);
        return "AddNewCard";
    }

}
<head>
<title>Marriage-Card | Add new marriage card</title>
<!-- for-mobile-apps -->
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="keywords" content="#" />
<head>... </head>
<body>
    <section id="main_container" style="min-height: 1024px;">
        <div id="job_post_panel" class="panel panel-primary">
            <div class="panel-heading">नया निमंत्रण कार्ड बनायें ...</div>
            <form:form action="addCard" method="post" commandName="card" id="job_post"
                name="job_post">
                <table class="input-container">
                    <tbody>
                        <tr>
                            <td class="column-name"><form:label path="marriageVanue"> स्‍थान</form:label>
                            <td class="input-text"><form:input path="marriageVanue"
                                    class="text" placeholder="स्‍थान भरें ..." />
                        </tr>
                        <tr>
                            <td class="column-name"><form:label path="darshanAbhilashi"> दर्शनाभिलाषी</form:label>
                            <td class="input-text"><form:input type="text" class="text"
                                    path="darshanAbhilashi" placeholder="दर्शनाभिलाषी  भरें ..." />
                        </tr>
                        <tr>
                            <td class="column-name"><form:label path="swagatUtsuk">स्‍वागतोत्‍सुक</form:label>
                            <td class="input-text"><form:input type="text" class="text"
                                path="swagatUtsuk" placeholder="स्‍वागतोत्‍सुक के नाम भरें ..." />
                        </tr>
                        <tr>
                            <td class="column-name"><form:label path="vinit">विनीत</form:label>
                            <td class="input-text"><form:input type="text" class="text"
                                path="vinit" placeholder="विनीत  के नाम भरें ..." />
                        </tr>

                        <tr>
                            <td class="btn-row" colspan="2"><input class="btn-submit"
                                type="submit" value="Submit" /></td>
                        </tr>
                    </tbody>

                </table>
            </form:form>

        </div>

        </section>
</body>
<html>
    <filter>
    <filter-name>CharacterEncodingFilter</filter-name>
    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
    <async-supported>true</async-supported>
    <init-param>
        <param-name>encoding</param-name>
        <param-value>UTF-8</param-value>
    </init-param>
    <init-param>
        <param-name>forceEncoding</param-name>
        <param-value>true</param-value>
    </init-param>
</filter>

<filter-mapping>
    <filter-name>CharacterEncodingFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>   
@Override
protected Filter[] getServletFilters() {
    CharacterEncodingFilter encodingFilter = new CharacterEncodingFilter();
    ... set prepare filter, e.g. setting encoding

    return new Filter[]{encodingFilter};
 }