【问题标题】:Insert persian value into a table with php code使用php代码将波斯值插入表中
【发布时间】:2017-12-20 16:14:54
【问题描述】:

我想在表格中插入一个值。但是当我在代码下面运行时,我看到用 ???? 显示这个值。我该如何解决这个问题?

插入.php

<?php
    include "connect.php";
    $query = "INSERT INTO customer_tab (name,phone,address) VALUE ('آزاده','0981245','ایران کرمان')";
    $result = $connect->prepare($query);
    $result->execute();
?>

connect.php

<?php
    $server = "localhost";
    $user = "azadgh";
    $pass = "*******";
    $dbname = "my_db";
    $dsn = "mysql:host=localhost;dbname=$dbname";
    try {
        $connect = new PDO($dsn, $user, $pass);
        $connect->exec("SET character_set_connection = 'UTF8");
        $connect->exec("SET NAMES 'UTF8");
        $connect->exec("SET CHARACTER SET 'utf8'");
    } catch (PDOException $error) {
        echo "unable to connect : " . $error->getMessage();
    }
?>

提前感谢您的帮助。

【问题讨论】:

  • 你使用什么编码?
  • 但是你检查表和列字符集编码了吗?
  • 此处缺少单引号。 $connect-&gt;exec("SET NAMES 'UTF8");。哪个可以解决问题
  • 检查这个:) 这可能对你有帮助stackoverflow.com/questions/6642755/…
  • 使用这个函数mysql_real_escape_string()

标签: php mysql


【解决方案1】:

我认为数据库名称没有反映在您的代码中。您可以尝试更改您的代码,如下所示,

$dbname = "my_db";
$dsn = "mysql:host=localhost;dbname="+$dbname+";

$dsn = "mysql:host=localhost;dbname=my_db;

【讨论】:

  • 添加拉丁值没问题。
【解决方案2】:

试用:PDO("mysql:host=localhost;dbname=DB;charset=UTF8");
以下是一种有帮助的解决方案:
$pdo->query("SET CHARACTER_SET_RESULTS=NULL");<br> $result = $pdo->query("select * from table");

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-21
    • 2012-03-28
    相关资源
    最近更新 更多