phpmyadmin ページを使用して、特殊文字を含むフィールドにエントリを挿入すると、以下の関数は特殊文字を含むフィールドに「null」を返しますが、特殊文字を含まないフィールドは適切に表示されます。
Web ページ (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>