字符集为zh_CN.utf8,出现的问题是直接curl 容器的ip+port 可以返回正常数据,但是通过容器里的网关的ip+port 访问就会出现中文乱码,所有容器都是使用一个centos基础镜像
红框内为k8s内网地址
人晕了
开始排查
1 kubectl exec登陆zuul的pod,访问容器服务crm的ip+port 返回正常,说明问题出在zuul这个pod上
2 查看zuul的配置文件 怀疑是如下配置造成的中文乱码,因为我这个是中文字符,zh_CN.utf8
spring.http.encoding.force=true
spring.http.encoding.charset=UTF-8
spring.http.encoding.enabled=true
server.tomcat.uri-encoding=UTF-8
3 重新修改zuul的Dockerfile 添加如下
ENV LANG=en_US.UTF-8
ENV LANGUAGE=en_US.UTF-8
4 重新构建网关和应用 镜像
5 进入pod查看编码
locale
解决之后 访问新的zuul的ip+port 返回如下