Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/255.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript UTF8字符不能与datatables和yadcf一起正确显示_Javascript_Php_Mysql_Utf 8_Datatables - Fatal编程技术网

Javascript UTF8字符不能与datatables和yadcf一起正确显示

Javascript UTF8字符不能与datatables和yadcf一起正确显示,javascript,php,mysql,utf-8,datatables,Javascript,Php,Mysql,Utf 8,Datatables,我有一个UTF8格式的mysql数据库,之前我已经正确地输出了字母,但是不能让我的php使用ajax进程使用datatables来完成输出。我尝试了各种方法来显示UTF8,包括更改标题、使用mysql函数和更改json编码函数,但我无法让它工作。请帮助我正确显示UTF8而不是?s 我有:temps.php 我的服务器端处理脚本: <?php header("Content-Type: text/json; charset=utf-8"); require( 'ssp.class.ph

我有一个UTF8格式的mysql数据库,之前我已经正确地输出了字母,但是不能让我的php使用ajax进程使用datatables来完成输出。我尝试了各种方法来显示UTF8,包括更改标题、使用mysql函数和更改json编码函数,但我无法让它工作。请帮助我正确显示UTF8而不是?s

我有:temps.php 我的服务器端处理脚本:

 <?php
 header("Content-Type: text/json; charset=utf-8");
 require( 'ssp.class.php' );
 $table = 'articles';
 $primaryKey = 'id';
 $columns = array(
      array( 'db' => 'title',           'dt' => 0  ),
    array( 'db' => 'description',  'dt' => 1  ));
 $sql_details = array(
 'user' => 'root', 'pass' => 'pass', 'db'   => 'test', 'host' =>      'localhost'
 );

 $db = SSP::db($sql_details);
.....


 if($clause !== ""){
  $whereAll[] = $clause;
  $_GET['columns'][$i]['search']['value'] = "";
 }}
 echo json_encode(
 SSP::complex( $_GET, $db, $table, $primaryKey, $columns, null, 
  (!empty($whereAll) ? implode(" AND ", $whereAll) : "")
  ));
我有一个temp.html,其中输出数据:(由于许多代码与问题无关,所以进行了编辑)


您需要在PDO连接中强制执行
utf8

$db=SSP::db($sql\u详细信息);
$db->exec(“设置名称utf8”);
或者,尝试将其作为参数传递:

$sql\u details=array(
“用户”=>“根用户”,
“通过”=>“ryan”,
“db'=>“edata”,
'主机'=>'本地主机',
“字符集”=>“utf8”
);
但这并不适用于所有PHP版本


PS:为什么要将表格字段设置为类型
utf8
,而将表格字符设置为
latin1

您需要在PDO连接中强制
utf8

$db=SSP::db($sql\u详细信息);
$db->exec(“设置名称utf8”);
或者,尝试将其作为参数传递:

$sql\u details=array(
“用户”=>“根用户”,
“通过”=>“ryan”,
“db'=>“edata”,
'主机'=>'本地主机',
“字符集”=>“utf8”
);
但这并不适用于所有PHP版本


PS:为什么将表格字段设置为类型
utf8
,而将表格字符设置为
latin1

如果将所有列添加为“UTF-8”,但问题仍然存在,请尝试此操作

在服务器端文件中添加这些行

mysql_query("SET character_set_client=utf8",$gaSql['link']);
mysql_query("SET character_set_connection=utf8",$gaSql['link']);
mysql_query("SET character_set_results=utf8",$gaSql['link']);

如果已将所有列添加为“UTF-8”,但问题仍然存在,请尝试此操作

在服务器端文件中添加这些行

mysql_query("SET character_set_client=utf8",$gaSql['link']);
mysql_query("SET character_set_connection=utf8",$gaSql['link']);
mysql_query("SET character_set_results=utf8",$gaSql['link']);

注意:sql行是英文和外文混合字符。建议您使用utf8mb4而不是utf8——某些中文字符在utf8中不可用。注意:sql行是英文和外文混合字符。建议您使用utf8mb4而不是utf8——某些中文字符在utf8中不可用。我得到了它可以与$db->exec一起工作;非常感谢。感谢关于表格字段的指针;在某一点上尝试过,但忘记将其更改回来。最好将utf8放在连接中,例如,
newPDO('dblib:host=host;dbname=db;charset=UTF-8',$user,$pwd)
@RickJames,SSP是数据表的特殊脚本,
$sql\u details
就是按照您的建议为您这样做的。@PareshGami您把这个命令放在哪里了:
$db->exec(“set names utf8”)?@Tiago在数据库连接文件中我让它和$db->exec一起工作;非常感谢。感谢关于表格字段的指针;在某一点上尝试过,但忘记将其更改回来。最好将utf8放在连接中,例如,
newPDO('dblib:host=host;dbname=db;charset=UTF-8',$user,$pwd)
@RickJames,SSP是数据表的特殊脚本,
$sql\u details
就是按照您的建议为您这样做的。@PareshGami您把这个命令放在哪里了:
$db->exec(“set names utf8”)?@Tiago
     CREATE TABLE IF NOT EXISTS `articles` (
    `id` int(11) NOT NULL,
    `title` varchar(300) CHARACTER SET utf8 DEFAULT NULL,
    `description` text CHARACTER SET utf8
 ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1;
 -- Dumping data for table `articles`
 INSERT INTO `articles` (`id`, `title`, `description`) VALUES
 (1, 'శ్రీనివాస్scddadas తామాడా', '新概念英语第asv'),
 (2, 'asda', 'asdవా'),
 3, 'sdfsadfsdf英语', 'sadf英');
mysql_query("SET character_set_client=utf8",$gaSql['link']);
mysql_query("SET character_set_connection=utf8",$gaSql['link']);
mysql_query("SET character_set_results=utf8",$gaSql['link']);