我们正在使用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。
问题
任何进一步的见解将不胜感激!