ngx_lua在传递中文的时候出现乱码,设置utf-8还是无法解决
为了提高性能,我用openresty服务器的lua模块,用lua重写一些php接口,但是传递给手机端显示的是乱码
lua输出的代码段:
local request_time = ngx.now() - begin_time ngx.header.content_type="application/json" -- ngx.header['Content-Type']="text/html;charset=UTF-8" ngx.header["X-Server-By"] = 'server by surjur' ngx.header["Server"] = 'nginx' ngx.header["X-Server-End"] = request_time ngx.say(json.encode(data)) ngx.exit(ngx.HTTP_OK)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
在mysql配置文件中设置字符集:
如/etc/mysql/my.cnf
[mysqld]节点增加:
character-set-server=utf8
collation-server=utf8_general_ci
在 server 块下
charset utf-8;
同问,在线等
你这种方式我之前试过,不行 后来我用ngx.header.content_type="application/json;charset=UTF-8"还是不行 最后使用 ngx.header.content_type="application/json;charset=utf8" 这个方式是可以的
ngx.header.content_type="application/json;charset=utf8" 这个是正解,感谢分享
因该是你的data读取时就乱码了吧。
与
或者 json.encode(data) 无关。
搜索一个,他是由于mysql connect连接配置编码的。
https://github.com/openresty/lua-resty-mysql/issues/20