PHP jsonencode unicode 存储问题

首先是这样的,因为输入的字符串的里面有德语的字符,如下:

当我存储到数据库之后,再用json_encode获取到数据库内的这些字符时,出问题了。

直接encode一个字符串"püüäöä" 本身并没有问题, encode后会被转储为对应的unicode码,

但是我取出来的$result[0]是存储在php的变量中,是utf8的存储格式。

我试了很多种方法,最终有效的是:

mb_convert_encoding(htmlentities($result[0]), 'UTF-8', 'HTML-ENTITIES')

现将其转成html字符,转成普通字符串最终json_encode为unicode。  至于到底是为啥不能直接utf8转unicode,望有人指导一下。字符乱码这种事,我还是没有完全理解清楚= =

原文地址:https://www.cnblogs.com/sylvialucy/p/6533259.html