我开发了一个简单的应用程序,它使用便携式对象将单词从英语翻译成挪威语。no.po(便携物品)msgid "Hello world!"msgstr "Hei Verden!"msgid "Date Of Birth"msgstr "Fødselsdato"启动.cspublic void ConfigureServices(IServiceCollection services){ services.Configure<CookiePolicyOptions>(options => { // This lambda determines whether user consent for non-essential cookies is needed for a given request. options.CheckConsentNeeded = context => true; options.MinimumSameSitePolicy = SameSiteMode.None; }); services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1) .AddViewLocalization(); services.AddPortableObjectLocalization(); services.Configure<RequestLocalizationOptions>( opts => { var supportedCultures = new List<CultureInfo> { new CultureInfo("en-US"), new CultureInfo("en"), new CultureInfo("fr-FR"), new CultureInfo("fr"), new CultureInfo("no"), new CultureInfo("nb-NO"), }; opts.DefaultRequestCulture = new RequestCulture("en-US"); opts.SupportedCultures = supportedCultures; opts.SupportedUICultures = supportedCultures; });}// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.public void Configure(IApplicationBuilder app, IHostingEnvironment env){ if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } else { app.UseExceptionHandler("/Home/Error"); } app.UseStaticFiles(); app.UseCookiePolicy(); app.UseRequestLocalization(); app.UseMvc(routes => { routes.MapRoute( name: "default", template: "{controller=Home}/{action=Index}/{id?}"); });}实际输出如上图所示,F dselsdato 未正确编码。我不知道这背后的原因是什么。如果我错过了代码中的任何内容,请建议我实现我的期望。预期输出应为Fødselsdato谢谢。
1 回答
UYOU
TA贡献1878条经验 获得超4个赞
我找到了解决问题的方法。为了运行显示国际语言字符,我们需要检查我们的文件是否为UTF-8格式。默认情况下,它将采用ANSI格式。我们需要使用任何文本编辑器将其从ANSI转换为UTF-8。我将展示我是如何修复它的。
在Notepad++ 中打开包含本地化文本的可移植对象 (po) 文件,然后转到“编码”选项卡并检查格式。如果它不是UTF-8格式,则将其转换为UTF-8,如下所示。
保存文件并运行应用程序,您会看到所有字符在浏览器中完美显示。
- 1 回答
- 0 关注
- 178 浏览
添加回答
举报
0/150
提交
取消