如果使用phpmyadmin页面插入包含特殊字符的字段的条目,下面的函数将返回“null”到具有特殊字符的字段,而不具有特殊字符的字段将正确显示。
如果我使用我的网页(jQuery DataTables)插入一个带有相同特殊字符的字段的条目,它将正确地显示它,没有问题。
为什么只有手动插入才会窃听数据显示?
我的DB排序规则是UTF8,我已经将HTML和PHP设置为utf-8,尝试使用utf8_encode(),但这一切似乎都不起作用。
下面是我的PHP代码和用法:
$connection = ($GLOBALS["___mysqli_ston"] = mysqli_connect('localhost', '', '')) or die(((is_object($GLOBALS["___mysqli_ston"])) ? mysqli_error($GLOBALS["___mysqli_ston"]) : (($___mysqli_res = mysqli_connect_error()) ? $___mysqli_res : false)));
((bool)mysqli_query( $connection, "USE ")) or die(((is_object($GLOBALS["___mysqli_ston"])) ? mysqli_error($GLOBALS["___mysqli_ston"]) : (($___mysqli_res = mysqli_connect_error()) ? $___mysqli_res : false)));
$aFieldType = array('tema', 'vinculo', 'empresa', 'subcontratada', 'gerencia', 'areasolicitante', 'cc');
$stack=array();
foreach ($aFieldType as $type)
{
$sql="SELECT {$type} FROM treinamentos ORDER BY {$type} ASC";
$result = mysqli_query($GLOBALS["___mysqli_ston"], $sql);
while($row = mysqli_fetch_array($result))
{
$stack[$type][] = array($row[$type],$row[$type]);
}
}
?>
<script type="text/javascript">
aDataInitial = '<?php echo json_encode($stack);?>';
</script>发布于 2013-04-13 04:37:45
通过phpMyAdmin将数据插入到表中,然后使用控制台客户机查看真正插入到DB中的内容。您可能在phpMyAdmin UI中出现字符集配置错误。
毕竟,您清楚地指出,在您的数据库、网站中设置了UTF-8,并且您自己的set应用程序中的UI正确地插入了数据。因此,您唯一没有检查的是phpMyAdmin。我也会尝试使用mysql控制台客户端插入您的特殊字符串。当然,检查客户端中插入的数据,这些数据也设置为UTF-8输出。
https://stackoverflow.com/questions/15984163
复制相似问题