当前位置: 首页 > 知识库问答 >
问题:

html页面显示问号而不是俄文字母

黄宏大
2023-03-14

如果有人知道是怎么回事,请帮忙。我已经尝试了我在互联网上找到的所有东西,但到目前为止都无济于事。出于某种原因,在idea中启动项目时,页面上显示的是问号而不是俄语字母

我已经尝试过:

>

  • 我确保windows控制台以866响应chcp请求,我读到最好设置此值

    同样在区域标准设置中,在选项卡中,我还单击了“更改系统语言”按钮,然后取消选中“测试版:使用 Unicode (UTF-8) 支持全球语言”。保存并重新启动。

    在文件idea.exe中。vmoptions和idea64.exe。vmoptions添加了以下行:-Dfile。encoding=UTF-8还将其添加到编辑器Idea中

    也在文件中

    在编辑器的右下角,我还设置了UTF-8

    我将meta标记以这种格式放在标题中。

    我还保存了我的index.html,以防万一使用UTF 8编码的记事本

    我通过双击文件夹启动了index.html页面,它通常会显示带有俄语的按钮,以及带有俄语的测试文本。然而,当我出于某种原因在idea中点击运行Tomcat按钮时,页面显示的是问号而不是俄文字母

    配置Tomcat如下所述:https://www.baeldung.com/tomcat-utf-8

    然而,出于某种原因,当通过想法启动项目时,Content-type显示在响应标头中:text/html; charset=ISO-8859-1

    智能IJ 创意 v2020.1 MavenVersion v3.6.1 项目 SDK 1.8 Java 版本 TomCat v9.0.48

    依赖5.2.16.RELEASE5.2.16.RELEASE5.2.16.RELEASEsping-webmvc5.2.16.RELEASEthymeleaf-sping53.0.12.RELEASE-api 4.0.1

    我发现网站页面上的俄语从字母变成了问号。

    起初,当我的索引在目录webapp中时,一切正常打开

    这是开始出现错误的最小代码。

    主控制器

    package ru.shop.three_d_print.сontrollers;
    
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.GetMapping;
    
    @Controller
    public class MainController
    {
        @GetMapping
        public String index()
        {
            System.out.println("called");
            return "index";
        }
    }
    

    Spring配置

    package ru.shop.three_d_print.config;
    
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.context.ApplicationContext;
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.ComponentScan;
    import org.springframework.context.annotation.Configuration;
    import org.springframework.web.servlet.config.annotation.EnableWebMvc;
    import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
    import org.springframework.web.servlet.config.annotation.ViewResolverRegistry;
    import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
    import org.thymeleaf.spring5.SpringTemplateEngine;
    import org.thymeleaf.spring5.templateresolver.SpringResourceTemplateResolver;
    import org.thymeleaf.spring5.view.ThymeleafViewResolver;
    
    @Configuration
    @ComponentScan("ru.shop.three_d_print")
    @EnableWebMvc
    public class SpringConfig implements WebMvcConfigurer
    {
        private final ApplicationContext applicationContext;
    
        @Autowired
        public SpringConfig(ApplicationContext applicationContext)
        {
            this.applicationContext = applicationContext;
        }
    
        @Override
        public void addResourceHandlers(ResourceHandlerRegistry registry)
        {
            registry.addResourceHandler("/resources/**").addResourceLocations("/resources/");
        }
    
        @Override
        public void configureViewResolvers(ViewResolverRegistry registry)
        {
            ThymeleafViewResolver resolver = new ThymeleafViewResolver();
            resolver.setTemplateEngine(templateEngine());
            registry.viewResolver(resolver);
        }
    
        @Bean
        public SpringTemplateEngine templateEngine()
        {
            SpringTemplateEngine templateEngine = new SpringTemplateEngine();
            templateEngine.setTemplateResolver(templateResolver());
            templateEngine.setEnableSpringELCompiler(true);
            return templateEngine;
        }
    
        @Bean
        public SpringResourceTemplateResolver templateResolver()
        {
            SpringResourceTemplateResolver templateResolver = new SpringResourceTemplateResolver();
            templateResolver.setApplicationContext(applicationContext);
            templateResolver.setPrefix("/WEB-INF/");
            templateResolver.setSuffix(".html");
            return templateResolver;
        }
    }
    

    Spring Mv c Dispatcher S er v let初始化r

    package ru.shop.three_d_print.config;
    import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer;
    public class SpringMvcDispatcherServletInitializer extends AbstractAnnotationConfigDispatcherServletInitializer
    {
        @Override
        protected Class<?>[] getRootConfigClasses()
        {
            return null;
        }
        @Override
        protected Class<?>[] getServletConfigClasses()
        {
            return new Class[] {SpringConfig.class};
        }
        @Override
        protected String[] getServletMappings()
        {
            return new String[] {"/"};
        }
    }
    

    索引

    <!DOCTYPE html>
    <html lang="ru">
    <head>
        <meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/>
        <title>Title</title>
    </head>
    <body>
        Sentence in english.
        Предложение на русском.
        build 3 inner
    </body>
    </html>
    

    和结果:

    英语句子。??????µ???"???¶?µ????µ???°?????????????。构建3个内部


  • 共有1个答案

    家弘业
    2023-03-14

    我很确定你要做的就是把这个记在脑子里!

    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    

    希望它有效!

    编辑:我看你已经在这么做了。你有最新版本的HTML吗?如果没有,请尝试更新itv

     类似资料:
    • 问题内容: 我在win7(x64)上安装了标准XAMPP。在过去的项目中遇到了编码方面的麻烦,其中mysql编码与php enconding不匹配,而php enconding有时又以其他编码形式输出html,因此,我决定始终使用utf-8对所有内容进行编码。 我刚刚开始使用html标记,并且已经遇到了麻烦。 我的页面是使用utf-8保存的( 我认为 没有BOM ) // update:事实并非如

    • 问题内容: 由于不确定的原因,我有一个旧版应用程序开始表现异常。它生成一堆HTML,由ActivePDF转换为PDF报告。 该过程如下所示: 从数据库中提取带有替换标记的HTML模板(例如,“〜CompanyName〜”,“〜CustomerName〜”等) 用真实数据替换令牌 使用简单的正则表达式函数对HTML进行整理,该函数可对HTML标签属性值进行格式设置(确保引号等,因为ActivePDF

    • 问题内容: 我正在从数据库中读取希伯来语中的一些文本,并正在尝试这样做。如果我得到的结果是: 而json_encode显示: 我相信这是因为我在数据库中的文本包含一个(’)标记。尝试了各种反斜杠或real_escape_string组合,都无济于事。 问题答案: 期望将数据中的字符串编码为UTF-8。 如果尚未将它们转换为UTF-8:

    • 第一次与Laravel和Beanstalk合作。我加载了我的代码,主页上说权限被拒绝,当我添加/public时,它说找不到。 经过一些搜索,我更新了我的文件的DocumentRoot从到,执行了“sudo服务httpd重启”,现在它在我的EC2主页上显示以下未格式化的文本 (http://craftaxethrowingtimers-env.eu-west-1.elasticbeanstalk.c

    • 我想使用页面而不是使用页面。但是当使用html页面时,我得到了错误。但是如果我使用jsp页面,我没有得到任何错误。 当我使用

    • 所以这似乎是一个检索问题。代码如下: 受保护的字符串getStringValueNoNulls(ResultSet rs,String colName){ ...print语句的输出: ????(单位:DB) ??????9999(9999单位为DB) ??(单位:DB) 是我错过了什么,还是司机出了问题?请帮帮忙。 ----------------------------------------