jquery表不能很好地阐述mysql表中的中文或任何重音字符

时间:2015-03-03 17:51:57

标签: mysql encoding

我创建了一个名为Country的数据库,当我导入数据文件时,我为整理设置了utf8_general_ci。 encoding1

在导入sql文件之前,我检查代码是否已正确设置为导入:

CREATE TABLE `country` (
  `id` int(11) NOT NULL auto_increment,
  `iso` char(2) NOT NULL,
  `name` varchar(80) NOT NULL,
  `printable_name` varchar(80) NOT NULL,
  `iso3` char(3) default NULL,
  `numcode` smallint(6) default NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=240 ;


INSERT INTO `country` VALUES (1, 'AF', 'AFGHANISTAN', 'Afghanistan', 'AFG', 4);
INSERT INTO `country` VALUES (2, 'AL', 'あなざ', 'Albania', 'ALB', 8);
INSERT INTO `country` VALUES (3, 'DZ', 'ALGERIA', 'Algeria', 'DZA', 12);

导入后我有这个:

encoding2

你可以看到Mysql数据库正确编码中文字符:

encoding good

http://127.0.0.1/flexigrid/类型后,Jquery-flexigrid表无法正确解码mysql数据库中的中文,俄文或任何重音字符。 我也检查.php页面并设置<meta charset="utf-8">来编码来自.php页面的中文字符,但我的问题是从数据库到表格的编码错误。

encoding3

我该怎么办?

1 个答案:

答案 0 :(得分:1)

确保您的数据库连接在php文件中设置为utf8

mysqli_set_charset($link, "utf8");

http://php.net/manual/en/mysqli.set-charset.php

mysql_set_charset('utf8',$link);

http://php.net/manual/en/function.mysql-set-charset.php