【发布时间】:2017-07-20 18:40:17
【问题描述】:
我遇到了数据编码问题。我的数据库在其中一列中有重音,在 api 中,在 php 中的 PDO 查询 SQL SERVER 中返回该列。我一返回就通过 json_encode 方法转换为 JSON,再加上 JSON 为 NULL。当我给 var_dump 带有重音符号的问题字母时,这会出现“�”并且在 json 中为空。 我知道这是我需要转换为 UTF8 的编码,但我无法在 php 中进行这种转换。谁能帮帮我?
【问题讨论】:
-
尝试
utf_encode()并检查。你能告诉我那里的原始字符是什么吗? -
SelecionaMensagem($codigo); //var_dump($mensagens); echo json_encode($mensagens, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE); } catch (Exception $e) { var_dump($e->getMessage()); }
-
返回的是数组里面的数组
-
1) 从 what 编码转换?这就像试图将 9.95 转换为美元一样,如果您不知道源货币是没有意义的。 2)如果数据在序列化为 JSON 之前已经损坏,那么在损坏后修复它是没有意义的。您应该返回设计表并确保您的基本数据库连接配置正确。
标签: php html sql-server json pdo