最近在开发过程中,接入了短信模块,这边使用的是腾讯云短信。在上一章中说过,使用腾讯云短信需要创建一个签名,一切开发都很顺利,在单元测试中很顺利的完成了业务需求。我们这边的业务是以通知用户一些消息为主,所以会以定时任务为主。
使用了spring的定时任务、在设置好时间后,等待程序的运行测试成功,却发现一直出现签名错误。但是在单元测试的时候就会成功。遇到这种问题很自然就想到了编码问题,一开始怀疑是配置文件的编码错误,导致读取的时候,签名已经乱码了,但是在调试中都没有看到乱码,并且已经将项目和配置文件的编码改为UTF-8,但是依旧报出签名错误的提示。
在思考后,对比单元测试和定时任务的差别应该在于容器的不同,定时任务基于tomcat在运行,而单元测试仅仅使用配置文件来注入后使用,我就开始怀疑是tomcat的编码错误。在找到tomcat的配置文件,看到已经配置了UTF-8后,一时间又无从下手。
在后来想到其实我并没有把tomcat的配置文件直接拿过来用,在idea中只是将bin中的几个jar包拿过来使用,所以在idea中配置完tomcat后,并不能看到tomcat的首页,想到这里就怀疑是我接入tomcat没有配置utf-8,然后导致编码出错,我传进去的中文虽然在我现在看来是中文,其实已经是乱码了,然后再配置文件中配置编码后,然后启动后发现正常发送短信。
记IDEA的tomcat编码问题
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 编码问题一直困扰着开发人员,尤其在 Java 中更加明显,因为 Java 是跨平台语言,不同平台之间编码之间的切换...