本文介绍了如何在ASP.NET Core Startup.cs文件中使用AddJsonOptions方法,通过设置JavaScriptEncoder确保跨平台兼容的JSON序列化。
摘要生成于
,由 DeepSeek-R1 满血版支持,
services.AddControllers().AddJsonOptions(options =>
options.JsonSerializerOptions.Encoder = System.Text.Encodings.Web.JavaScriptEncoder.Create(UnicodeRanges.All);
作为一个.NET Web开发者,我最伤心的时候就是项目开发部署时面对Windows Server上贫瘠的解决方案,同样是神器Nginx,Win上的Nginx便始终不如Linux上的,你或许会说“干嘛不用windows自带的NLB呢”,那这就是我这个小鸟的从众心理了,君不见Stack Overflow 2016最新架构中,用的负载和缓存技术也都是采用在Linux上已经成熟的解决方案吗。没办法的时候找个适合的解决办法是好事,有办法的时候当然要选择最好的解决办法。
所幸,.ASP.NET Core出现了,它顺应了开源大趋势,摆脱了一直为人诟病的Win Server,以ASP.NET的跨平台版本
你要明白,任何问题都不是孤立存在的,一定有人曾经遇到过,并且已经有更好的解决办法了,只是我还不知道。我不应该在黑暗中独自前行,去重新发明轮子,也许我的顿悟,只是别人的基本功!我应该要站在巨人的肩膀上,学习更成熟的经验和方法,然后再来解决这个问题
08-11
post请求,return返回的
中文正常,但是其他地方调用xxx-query后,接收的
中文乱码。分析原因RequestMapping有问题。
乱码的代码
@RequestMapping(value
= "/xxx-query", method
= RequestMethod
.POST)
public String queryVoteConf(@RequestBody Map<String, Object> parameterMap) {
return service
.queryxx();
在工作过程中,调用第三方接口出现当返回的数据是中文的时候,中文数据便会变成 这样??? 迷~ ,一开始我以为是发送成功后接收字符编码是不是不对,在换过UTF-8,Unicode,。。。都是不行。
最后是问我大佬解决的,希望我大佬带我飞。
就是解码用Unicode
content-Type 是 application/json;charset=unicode 就是这样简单。
此随笔乃本人学...
1 原因:.serialize()自动调用了encodeURIComponent方法将数据编码了
2 解决方法:调用decodeURIComponent(XXX,true);将数据解码
3 例如:
4 var params = jQuery("#formId").serialize(); // http request parameters.
5 params =