Maison  >  Questions et réponses  >  le corps du texte

pdo écrit des caractères tronqués lorsque le contenu écrit dans la base de données est en chinois

<?php if(empty($_POST['phone'])){ //Quand c'est du chinois, la base de données est tronquée return_json(1,'Le numéro de téléphone portable ne peut pas être vide' } if(empty($); _POST[' pwd'])){ return_json(2,'Le mot de passe ne peut pas être vide'); } $phone = find('php_user','*','phone='.$_POST['phone']); ($téléphone){ return_json(3,'Le numéro de téléphone portable existe déjà'); } $arr = array( 'phone' => $_POST['phone'], 'pwd' => md5($_POST[' pwd']) , 'add_time' => time(), 'nickname' => isset($_POST['nickname']) $_POST['nickname'] : $_POST['phone'], 'sex ' => isset($_POST['avatar']) ? $_POST['sexe'] : 0, 'avatar' => isset($_POST['avatar']) ? '' ); $add = insert('php_user',$arr); return_json(0,'Inscription réussie'); function connect(){ $db = array( 'charset' => 'utf8', 'port' => 3306 'type' => 'mysql', 'hôte' => '127.0.0.1', 'utilisateur' => > 'hao1' ); $dsn = "{$db['type']}:host={$db['host']}; dbname={$db['name']}; jeu de caractères={$db ['charset ']}; port={$db['port']}" try { //Instancier la classe PDO et créer l'objet PDO $pdo = new PDO($dsn,$db['user'],$ db['pass ']); } catch (PDOException $e) { die('Erreur de base de données :'.$e->getMessage() } return $pdo;}function insert($table,$data=[ ]){ / /Connect pdo $pdo = connect(); //Créer une instruction SQL $sql = "INSERT INTO {$table} SET " //Assembler l'instruction d'insertion if(is_array($data)){ foreach ($data) as $k= > trim($sql),',').';'; //Créer un objet de prétraitement PDO $stmt = $pdo->prepare($sql); >execute ()){ if($stmt->rowCount()>0){ return true } }else {        return false ;    }}

A快递员***A快递员***1104 Il y a quelques jours896

répondre à tous(3)je répondrai

  • autoload

    autoload2021-11-02 10:01:24

    Regardez la méthode d'encodage de votre base de données et la méthode d'encodage dans votre php

    répondre
    0
  • Annulerrépondre