特殊字符无法插入数据库

Sal*_*i L 5 php mysql wordpress text wordpress-plugin

我是php新手.我试图读取文本文件并逐行插入数据库.我的问题是对一些特殊字符插入查询不工作
.例如Côte,d.ä.,d.y.,DAB-sändare所有这些都在工作.但是不能插入d'affaires.如果我删除d'affaires然后查询将执行否则它将不会将任何数据插入数据库.我用来reaf并插入数据库的php代码是

mysql_connect("localhost","root","");
    mysql_select_db("testdb");
    $query="INSERT INTO keywords (id, keyword) VALUES ";
    $handle = fopen("Ordlista.txt", "r");
    if ($handle) {
        $i=1;
        while (($line = fgets($handle)) !== false) {
            // process the line read.
           // echo $line.'<br>';

            if($i==1)
            {
            $query.=" ( NULL , '".$line."') ";
            $i++;
            }
            else {
                $query.=" ,( NULL , '".$line."') ";
            }

        }
        $query.=";";
     //   $qr=htmlspecialchars($query,ENT_QUOTES);
        echo $query;
        mysql_query($query);
    } else {
        echo 'error opening the file.';
        // error opening the file.
    } 
    fclose($handle);
Run Code Online (Sandbox Code Playgroud)

更新
我在wordpress中创建插件时使用了此代码,然后特殊字符插入为' ?'.在前面的代码中,我正在完成的代码更改是工作文件

mysql_query("TRUNCATE TABLE $table");
//    $structure = "INSERT INTO $table (`id`, `keyword`) VALUES (NULL, 'test1'), (NULL, 'test2');"; // Keywords for Testing
//    $wpdb->query($structure);
   //read text file & insert to database start
   $query="INSERT INTO $table (id, keyword) VALUES ";
   $fllocation=PLG_URL.'/Ordlista.txt';
    $handle = fopen($fllocation, "r");
    if ($handle) {
        $i=1;
        while (($line = fgets($handle)) !== false) {
            // process the line read.
            if($i==1)
            {
            $query.=" ( NULL , '".mysql_real_escape_string($line)."') ";
            $i++;
            }
            else {
                $query.=" ,( NULL , '".mysql_real_escape_string($line)."') ";
            }
        }
        $query.=";";
        $wpdb->query($query);
       // echo $query;
       // mysql_query($query);
    } else {
        echo 'error opening the file.';
        // error opening the file.
    } 
    fclose($handle);
Run Code Online (Sandbox Code Playgroud)

Moh*_*umb 4

尝试 mysql_real_escape_string();

mysql_connect("localhost","root","");
    mysql_select_db("testdb");
    $query="INSERT INTO keywords (id, keyword) VALUES ";
    $handle = fopen("Ordlista.txt", "r");
    if ($handle) {
        $i=1;
        while (($line = fgets($handle)) !== false) {
            // process the line read.
           // echo $line.'<br>';

            if($i==1)
            {
            $query.=" ( NULL , '".mysql_real_escape_string($line)."') ";
            $i++;
            }
            else {
                $query.=" ,( NULL , '".mysql_real_escape_string($line)."') ";
            }

        }
        $query.=";";
     //   $qr=htmlspecialchars($query,ENT_QUOTES);
        echo $query;
        mysql_query($query);
    } else {
        echo 'error opening the file.';
        // error opening the file.
    } 
    fclose($handle);
Run Code Online (Sandbox Code Playgroud)