我试图保存一些印度语言的内容(阅读印地语)从一个网站到mysql数据库的列。我用springboot和jpa来刮网站和写内容。
在我的本地系统(osx)上一切正常。同样的代码也部署在ubuntu16.04 lts上。它工作正常,只是相关db列的内容显示“??”。我推测可能是prod示例的mysql的排序规则和字符集有问题。
实际上,我的本地机器上的mysql版本是8.x。本地数据库的排序规则是utf8mb4\u 0900\u ai\u ci。prod的版本是5.6,排序规则是utf8\ux\ux。显然,utf8mb4\u0900\uai\uci不适用于8.x之前的版本。
我尝试将本地计算机上的列排序规则(即整个架构)更改为utf8mb4\u general\u ci,以及utf8mb4\u unicode\u ci。在本地数据库上都可以正常工作。但是同样的排序规则,即utf8mb4\u general\u ci和utf8mb4\u unicode\u ci在prod环境中仍然给出了'???'!
这可能是“排序规则”以外的问题吗?我能够在终端上打印印地语内容,包括本地和ubuntu部署。问题不太可能出现在客户端,因为同一个客户端(datagrip)很好地显示了本地模式内容,而ubuntudb内容则是神秘的问号。
在谷歌上搜索了两天。任何帮助都将不胜感激。
暂无答案!
目前还没有任何答案,快来回答吧!