SAPUI5应用程序正式生产后的奇怪编码

2020-08-27 16:31发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好

我们当前在将WebIDE部署到我们自己的SAPUI5 ABAP存储库的过程中遇到问题。

我们准备了一个 i18n.properties 文件,其中保存了所有德语字符串。

如果我们在WebIDE本身上启动应用程序,则字符串的编码可以按预期完美地工作。 但是,当我们现在尝试在ABAP存储库上构建和部署应用程序时,它将因编码失败。 在WebIDE上的构建过程中,它将i18n属性文件转换为另一种编码。 我们在 dist 文件夹中看到文件。

结果,我们看到了错误的编码应用程序:

现在的问题是,我们该怎么做才能设置正确的字符集并获得预期的结果。

谢谢。

(5.2 kB)

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好

我们当前在将WebIDE部署到我们自己的SAPUI5 ABAP存储库的过程中遇到问题。

我们准备了一个 i18n.properties 文件,其中保存了所有德语字符串。

如果我们在WebIDE本身上启动应用程序,则字符串的编码可以按预期完美地工作。 但是,当我们现在尝试在ABAP存储库上构建和部署应用程序时,它将因编码失败。 在WebIDE上的构建过程中,它将i18n属性文件转换为另一种编码。 我们在 dist 文件夹中看到文件。

结果,我们看到了错误的编码应用程序:

现在的问题是,我们该怎么做才能设置正确的字符集并获得预期的结果。

谢谢。

(5.2 kB)
付费偷看设置
发送
9条回答
蓋茨
1楼 · 2020-08-27 17:03.采纳回答

我遇到了类似的问题,感谢 Boghyon Hoffmann ,他向我建议了OpenUI5 Slack频道上的解决方案。 ( https://openui5.slack.com/archives/C61AA31MH/p1572532524039400 ?thread_ts = 1572529459.031600&cid = C61AA31MH )。

您需要在ui5.yaml文件中设置propertiesFileSourceEncoding参数:

资源:
     组态:
         propertiesFileSourceEncoding:UTF-8
 

我希望这可以解决您的问题。

风早神人
2楼-- · 2020-08-27 17:03

可以与我们共享package.json和ui5.yaml吗? 似乎是当今UI5开发人员遇到的常见问题。 解决方案之一是告诉工具转换时使用UTF-8读取* .properties文件。 参见 https://stackoverflow.com/a/58835799/5846045

Tong__Ming
3楼-- · 2020-08-27 17:20

我现在已经重新构建并部署了它,突然属性文件现在可以正确显示了。 也许WebIDE显示了dist属性文件的旧版本。 现在可以了,非常感谢。

更新:但是我在package.json中添加了其他内容。 当我添加

-排除任务逸出NonAsciiCharacters 

到build标签,然后它将在dist文件夹中正确显示字符,并最终在生产系统上显示字符。

所以我的package.json现在看起来像这样:

 {
   " name":" zmmwe",
   " version":" 0.0.1",
   " description":"",
   "私人":是的,
   " devDependencies":{
     " @ ui5/cli":" 1.7.0",
     " @ sap/ui5-builder-webide-extension":" 1.0.5"
   },
   "脚本":{
     " build":" ui5建立--include-task = generateManifestBundle --exclude-task escapeNonAsciiCharacters generateCachebusterInfo"
   },
   " ui5":{
     "依赖关系":[
       " @ sap/ui5-builder-webide-extension"
     ]
   }
 } 
软件心理学工程师
4楼-- · 2020-08-27 17:26

它将再次转换编码,但是这次新的转换应该是正确的。 您在浏览器上测试过结果吗?

Tong__Ming
5楼-- · 2020-08-27 17:13

您好,我无法完全回答,但是由于转换后的Unicode字符代码\ u00c3已经错误(带波浪号的" A"), 问题肯定是在转换过程中。 似乎此转换假定输入文件的字符集错误。 或输入文件的编码错误。 编码是什么? 您可以使用Notepad ++之类的工具进行更改,也许切换到UTF-8帮助或从UTF-8帮助切换。

骆驼绵羊
6楼-- · 2020-08-27 17:15

您好 Boghyon Hoffmann

不,当我刚刚更新.yml文件时,仍然看到Bez /u00c3/u00bc ger(Bezüger)。

愤怒的猪头君
7楼-- · 2020-08-27 17:06

请注意,根据< a hraf=" https://de.wikipedia.org/wiki/Java-Properties-Datei" target =" _ blank"> Java-Properties-Datei 属性文件为ISO 8859-1 编码,而不是UTF-8。

一周热门 更多>