Php 将泰语字符输入UTF8数据库

Php 将泰语字符输入UTF8数据库,php,mysql,mysqli,utf-8,Php,Mysql,Mysqli,Utf 8,我试着将一些泰语歌曲放入utf8 utf8_general_ci mysql数据库。数据来自facebook api。在JSON中,它看起来像\u0e41\u0e15\u0e07\u0e08\u0e49原件:แตแจ้ 在数据库里我得到了一些????问号 将这些字符保存到数据库中的最佳解决方案是什么 这是我与mysqli的数据库连接: $DB = new mysqli('localhost', 'XXX', 'XXXXXX', 'XXXX'); $DB->query("SET CHARAC

我试着将一些泰语歌曲放入utf8 utf8_general_ci mysql数据库。数据来自facebook api。在JSON中,它看起来像\u0e41\u0e15\u0e07\u0e08\u0e49原件:แตแจ้ 在数据库里我得到了一些????问号

将这些字符保存到数据库中的最佳解决方案是什么

这是我与mysqli的数据库连接:

$DB = new mysqli('localhost', 'XXX', 'XXXXXX', 'XXXX');
$DB->query("SET CHARACTER SET 'UTF8'");
$DB->set_charset("UTF8");

在db表中,将列排序规则设置为utf8\U unicode\U ci,然后:

mysql_query("SET character_set_results=utf8");
mysql_query("SET character_set_client=utf8");
mysql_query("SET character_set_connection=utf8");

好的,我找到了sulotion


该表已设置为utf8\u general\u ci,但未设置utf8\u general\u ci表列。。。是拉丁语1

如果phpMyAdmin显示???这并不意味着数据以错误的格式保存在数据库中。尝试输出保存的数据并检查。ppowtac提出了一个重要的观点。这可能只是意味着,在phpmyadmin控制台输出它的地方,没有正确的字符编码集。我为输出创建了一个测试脚本。还有吗???在输出中。内容类型为utf8,与数据库的连接也无效。我返回了带有函数$mysqli->character\u set\u name的charterset,它是latin1。mysqli有一个方法:。我用过主题,但我还有???在您案例中的datasetry中,$DB->querySET name'utf8';谢谢你的评论,但它也不起作用。。。我看了看坎托的剧本。他们也使用mysqli。这正是连接的开始:$GLOBALS['TL_CONFIG']['dbCharset']='UTF8'@$此->重新连接->设置字符集$GLOBALS['TL\u CONFIG']['dbCharset'];这是mysqli的问题吗?好的,一切都是utf8:Array[Variable\u name]=>character\u set\u client[Value]=>utf8 Array[Variable\u name]=>character\u set\u connection[Value]=>utf8 Array[Variable\u name]=>character\u set\u database[Value]=>utf8 Array[Variable\u name]=>character\u set\u filesystem[Value]=>二进制数组[变量名称]=>字符集\结果[值]=>utf8数组[变量名称]=>字符集\服务器[值]=>utf8数组[变量名称]=>字符集\系统[值]=>utf8,但不起作用: