根据网上的视频和配置做了,可是数据库中文调出来还是出现unicode代码.

如题,数据库已经设置为utf8, 网页也是utf8编码,可是数据库中文调出来还是 /u 形式的编码。
网上看了很多,貌似没有对此专门的回复,一般的回复是利用 json_encode()的第二个参数,设为 JSON_UNESCAPED_UNICODE,实现输出正常的utf8,确实可以。
但是不可能每次输出都这样做,太麻烦了吧,网上教学视频里也是能够直接输出的,是我哪里配置没做好么?
请教各位,谢谢。

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 5

你这做法就不对,你应该考虑如何保存正常的中文进数据库,而不是想着输出的时候怎么转化。还有就是,提问尽可能多提供一些信息,代码什么都没有……怎么实现的,哪里出问题?

4年前 评论

mysql 数据库字符集使用 utf8mb4,mysql 的 utf8 不是标准的 UTF8(mysql先推出,后面才有标准的 utf8)

4年前 评论

这个需要看mysql的版本吧,5.6之前的就是utf8mb4,之后的就是正常的utf8

4年前 评论

感谢以上回复, 我又试了一下,数据库是否设为utf8mb4似乎没有影响。 诡异的是直接 return 一个数据库结果集出现的是unicode编码,但是如果我另外做一个模板,在控制器里return view,然后把结果集传参传给模板以后显示,显示的是正常的中文,虽然不知道原因,但是这样对我来说也能接受。只是不知道是否设置了什么东西导致这种结果...

4年前 评论

楼上各位可能没能理解楼主的意思,我想,楼主的意思是json_encode这个函数输出中文的时候输出的是Unicode编码的问题。其实对于这个问题可以不用管,不管你输出的是正常的中文还是Unicode编码,浏览器/客户端的json类库都能够正常解析,JSON_UNESCAPED_UNICODE的作用一般是用来让响应体小一点。唯一可能有问题的地方就是你把json_encode的结构输出到文件后打开肉眼无法解读,这个时候才是需要添加JSON_UNESCAPED_UNICODE参数的,如果你这种场景很多地方遇到或者觉得每次都添加都麻烦,可以将带JSON_UNESCAPED_UNICODE的json_encode方法封装成一个独立的方法。

4年前 评论
onley (楼主) 3年前
onley (楼主) 3年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!