如何在jhipster中将会话级别的字符集设置为utf8

时间:2017-08-04 20:42:15

标签: mysql utf-8 jhipster pivotal-cloud-foundry cleardb

当我将基于jhipster的应用程序部署到云代工厂时(在我的情况下使用ClearDB服务的Pivotal)我没有选择更改DB字符集,也没有更新JDBC参数,因为它共享数据库。 数据库的字符集是latin1,我需要它是utf-8才能支持阿拉伯语和希伯来语等语言。

因此,我认为支持这些语言的唯一选择是在创建数据库会话/连接时初始化,例如在sqls下运行:

SET session character_set_client = charset_name;
SET session character_set_results = charset_name;
SET session character_set_connection = charset_name;

如何在jhipster中完成此操作我没有看到我们可以设置数据库连接/会话init sqls的地方以及是否有其他建议?

目前发生的事情是来自客户端的阿拉伯语/希伯来语输入数据保存在数据库中???? 顺便说一句,如果我将使用MYSQL Workbench更新数据库条目,阿拉伯语/希伯来语值将正确保存并正确显示。

谢谢, Rabiaa

2 个答案:

答案 0 :(得分:0)

数据在conda install pytorch torchvision -c soumith 期间被销毁。

  • 要存储的字节不编码为utf8 / utf8mb4。解决这个问题。
  • 数据库中的列是CHARACTER SET utf8(或utf8mb4)。解决这个问题。
  • 另外,检查读取时的连接是否为UTF-8。

参见"问号"在http://stackoverflow.com/questions/38363566/trouble-with-utf8-characters-what-i-see-is-not-what-i-stored

每个角色都有一个问号吗?或两个(阿拉伯语/希伯来语)?

答案 1 :(得分:0)

通过创建代理服务来解决此问题的解决方法:

1取消绑定clearDB服务(但只要取消绑定就保留它)

2创建新的用户提供的服务,该服务将通过自定义uri调用clearDB服务。

请参阅以下命令:

cf create-user-provided-service mysql-db -p '{"uri":"mysql://<uri of the clearDB service>?useUnicode=true&characterEncoding=utf8&reconnect=true"}' 

cf bind-service <app name> mysql-db

cf restart <app name>