spring - 在 springboot jpa 中支持阿拉伯字体
问题描述
我在我的数据库中正确保存了阿拉伯名字。但是当我要向他们发送电子邮件时,我会变得像???(不支持)
我的代码:Application.properties
server.port=8080
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/userdb?useUnicode=yes&characterEncoding=UTF-8
spring.jpa.database-platform=org.hibernate.dialect.MySQL5Dialect
spring.jpa.show-sql=true
spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
spring.jpa.hibernate.naming.implicit-strategy=org.hibernate.boot.model.naming.ImplicitNamingStrategyLegacyJpaImpl
存储库
public interface MyUserRepository extends JpaRepository<User,String>{
List<User> findByEmail(String email);
}
服务
public List<User> getAllAccount(String email) {
return myUserRepository.findByEmail(email);
}
模型
@Entity
@Table(name = "User")
public class User implements java.io.Serializable {
@Id @GeneratedValue(strategy=IDENTITY)
@Column(name="id", unique=true, nullable=false)
private Integer Id;
@Column(name = "username", unique = true, nullable = false, length = 64)
private String username;
private String name;
@Column(name = "email", length = 100)
private String email;
//getters & setters
}
在控制器上,当我试图获得名字时,它给我????而它正确保存在数据库中(可读)
for (int i = 0; i < size; i++) {
String user = users.get(i).getUsername();
System.out.println("USER " + user); // printing ???
}
什么做错或错过给我这个问题。请帮我。
解决方案
这是电子邮件模板中的 UTF 编码支持问题。
您可以在发送电子邮件的方法中设置编码支持,如下所示:
Session session = Session.getDefaultInstance(props);
session.setDebug(false);
MimeMessage msg = new MimeMessage(session);
msg.setContent(body, "text/html; charset=utf-8");
我在我最近的外汇交易CurrencyFreaks项目中实现了同样的逻辑,这个逻辑解决了我的问题。祝你好运!
推荐阅读
- machine-learning - 在 R 中处理 ID 变量和因子
- lotus-notes - LotusScript 代理手动呈现内容,但是当它按计划运行时,它不会在消息正文中显示表格或文档链接
- javascript - 返回带有格式化日期的额外列
- c# - How to handle DHAV (.dav) video streams?
- java - Java tools to generate object graph from Json content
- antlr - Modify Parse Tree
- c++ - OMNet++ - parse application packet splitted in many TCP segments
- databricks - Databricks Delta cache contains a stale footer and stale page entries Error
- spring - jdbcTemplate: Invalid column type in delete query
- python - 从 Python 中的部分行读取 base64