Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/298.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
Php 在插入期间和字符串包含特殊字符时截断MySQL中的字符串'á';_Php_Mysql_Sql_Mysqli_Special Characters - Fatal编程技术网

Php 在插入期间和字符串包含特殊字符时截断MySQL中的字符串'á';

Php 在插入期间和字符串包含特殊字符时截断MySQL中的字符串'á';,php,mysql,sql,mysqli,special-characters,Php,Mysql,Sql,Mysqli,Special Characters,为什么字符串在试图插入MySQL表时会截断?字符串在字符前面截断。例如,Málaga-皇家马德里成为数据库中唯一的M //*** login & select database //*** $mysqli->query('set names utf8'); $title = $mysqli->real_escape_string('Málaga - Real Madrid'); $mysqli->query("INSERT INTO article (title) VA

为什么字符串在试图插入MySQL表时会截断?字符串在字符
前面截断。例如,
Málaga-皇家马德里
成为数据库中唯一的
M

//***
login & select database
//***
$mysqli->query('set names utf8');
$title = $mysqli->real_escape_string('Málaga - Real Madrid');
$mysqli->query("INSERT INTO article (title) VALUES ('$title')");

可以使用PHP在字符集上拆分字符串

<?php
// Put the data in to a string
$string = 'Málaga - Real Madrid';

// Split it by the character
$split_string = explode('á', $string);

//***
login & select database
***/
$mysqli->query('set names utf8');

// Put the first split in to the real_escape function
$title = $mysqli->real_escape_string($split_string[0]);

// Run the query
$mysqli->query("INSERT INTO article (title) VALUES ('$title')");

?>

你确定
á
是utf-8
吗?你确定title字段的字符集也是utf-8吗?不,我不确定。我正在从另一个网站获取数据。我想虽然它不是UTF-8。我可以把它转换成UTF-8吗?好的,我们找到了php函数mb_convert_编码