URL中的WSO2非英语字符

时间:2019-05-02 13:33:04

标签: wso2 wso2esb wso2carbon

我们正在使用WSO2 2.6。当前,我们的数据库具有latin1-swedish-ci默认值,但如有必要,我们可以切换到utf-8。

我们正在尝试在API上下文中使用非英语字符。目前,我们仅仔细检查了latin1字符集中包含的字符,例如:/t/tenant.com/Process_educação/1.0.0(这些字符是葡萄牙语字符,属于latin1)。

我们能够在API Publisher中创建这样的API,并能够从Postman应用程序中调用它。但是,尝试从Web浏览器调用它失败,并显示错误202(已接受)。这是因为Web浏览器将URL“编码”为:

https://apigw-pod1.staging4.infaqa.com:8243/t/apim.stg4p1.com/Process_educa%C3%A7%C3%A3o/1.0.0

WSO2无法识别此URL。在日志中,我仅看到以下内容:

INFO {org.apache.synapse.mediators.builtin.LogMediator} -
    To: local://axis2services/Process_educa%C3%A7%C3%A3o/1.0.0, 
    MessageID: urn:uuid:7c3cbd55-570f-4e66-97a6-34845fb1a1d6, Direction: request

我还尝试使用以下URL:

https://apigw-pod1.staging4.infaqa.com:8243/t/apim.stg4p1.com/Process_educa%E7%E3o/1.0.0

这是字符的正确latin1表示形式,但是在调用API时获得了相同的202(接受)。

我注意到以下博客:https://medium.com/working-with-wso2-products/how-to-use-non-english-languages-with-wso2-api-manager-851a3124c436,该博客建议在WSO2 DB中使用UTF8。

问题

  1. 该博客是否正确且已针对WSO2 AM 2.6更新?我们可以安全地遵循其建议并使用任何UTF8字符使/ context受益吗?
  2. 在遵循了此博客的建议之后,WSO2会接受编码的URL(带有'%')吗?还是我们仍然会有一个问题,那就是它只接受未编码的URL(包含UTF8字符)而拒绝它们的编码表示形式?

任何进一步的见解将不胜感激!

0 个答案:

没有答案