Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.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 无法将UTF-8字符串添加到MySQL中?_Php_Mysql_Database_Utf 8_Insert - Fatal编程技术网

Php 无法将UTF-8字符串添加到MySQL中?

Php 无法将UTF-8字符串添加到MySQL中?,php,mysql,database,utf-8,insert,Php,Mysql,Database,Utf 8,Insert,我无法将UTF-8字符串添加到MySQL数据库中。代码如下: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> </head> <body> <?php $temp='papà'; mysql_query("SET NAMES utf8

我无法将UTF-8字符串添加到MySQL数据库中。代码如下:

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    </head>
    <body>
    <?php
        $temp='papà';
        mysql_query("SET NAMES utf8");
        mysql_query("SET character_set_results = 'utf8', character_set_client = 'utf8', character_set_connection = 'utf8', character_set_database = 'utf8', character_set_server = 'utf8'");
        mysql_query("INSERT INTO comment VALUE ('$temp')") or die(mysql_error());
     ?>
    </body>
 </html>
DB中的变量是CHAR120,使用非utf8字符串时,它可以正常工作。 如果SQL语法ecc中有错误,则该错误是通用错误


提前感谢您的帮助。

使用以下代码:

<?php header('Content-Type: text/html; charset=utf-8'); ?>

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    </head>
    <body>
    <?php

        $temp='papà';
        mysqli_query("INSERT INTO comment VALUE ('$temp')") or die(mysqli_error());
     ?>
    </body>
 </html>
停止使用mysql_*并开始使用mysqli_*或使用PDO

在转换为mysqli_*后,使用set_字符集。不要做其余的部分。PDO在dsn中具有字符集

表格中的列是否为utf8字符集

编码utf8中的字节是否已编码?在utf8中,则A的十六进制为C3A0。在拉丁文1中,它是F0

使用VARCHAR几乎总是比CHAR好


如果您遇到更多问题,请选择col,HEXcol FROMcoment…;-这可能会给我们最好的线索,知道还有什么东西坏了。

角色是什么?MySQL的UTF8不是真正的UTF8。你试过utf8mb4吗?请。它们不再得到维护,而是在使用。学习替代,并考虑使用PDO,是的,也尝试了UTF8Mb4,现在似乎没有什么变化。例如,字符是欧元符号,保存为–愚蠢的问题,但您的PHP文件是否由文本编辑器以UTF-8编码?请向我们显示语法错误消息的其余部分-它指向错误所在!