رفتن به مطلب
  • 0

وارد کردن اطلاعات به دیتابیس فارسی


101011

سوال

سلام این کد رو جناب شهاب خان برام فرستاد ولی وقتی متنی ارسال میشه یه چیز عجیب غریب میاد

کسی کمک میکنه تکه کد فارسیشو هم بهش اضافه کنه تا حروف فارسی وارد بشن به دستابیس

خیلی عجله دارم.اگر کمک کنید ممنون میشم

 

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";

$id = $_POST["id"];
$name = $_POST["name"];

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 

$sql = "INSERT INTO tbl(id, name)
VALUES ('$id', '$name')";

if ($conn->query($sql) === TRUE) {
    echo "New record created successfully";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}

$conn->close();
?>

متن رو میفرسته ولی فارسی رو داغون میکنه

لطفا سریعتر

لینک ارسال
به اشتراک گذاری در سایت های دیگر

15 پاسخ به این سوال تاکنون داده شده است

ارسال‌های توصیه شده

سلامت باشید

از چه روشی؟ مشکل از کجا بود؟

مهدی جان کدی که ایشون استفاده میکردن از mysqli استفاده میکرد

دوستان کد mysql دادن

کد رو باید به این شکل مینوشتن ایشون...

اولین کوئری بعد از کانکت باید این باشه

$conn->query("SET CHARACTER SET utf8");
لینک ارسال
به اشتراک گذاری در سایت های دیگر

mysql_query("SET CHARACTER SET utf8");

این رو اضافه کنید حل میشه

لینک ارسال
به اشتراک گذاری در سایت های دیگر

کجاش اضافه کنم،لطف میکنی تو اون کدی که گذاشتم اضافه کنی،من از پی آچ پی زیاد سر در نميارم

لطفا

خودم هر جاییش گذاشتم نشد.کدی که ازش استفاده میکنم اون بالاست.لطفا بهش اضافه کنید بدید

ممنون

لینک ارسال
به اشتراک گذاری در سایت های دیگر

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";

$id = $_POST["id"];
$name = $_POST["name"];

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}

mysql_query("SET CHARACTER SET utf8");
$sql = "INSERT INTO tbl(id, name)
VALUES ('$id', '$name')";

if ($conn->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}

$conn->close();
?>

------------

از تو خود دیتابیست هم میتونی رو UTF-8 بزاری :pardon: 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";

$id = $_POST["id"];
$name = $_POST["name"];

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}

mysql_query("SET CHARACTER SET utf8");
$sql = "INSERT INTO tbl(id, name)
VALUES ('$id', '$name')";

if ($conn->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}

$conn->close();
?>

------------

از تو خود دیتابیست هم میتونی رو UTF-8 بزاری :pardon: 

 

اگه هنوز درست نشده پس احتمالا کاراکترست دیتابیستون رو درست تنظیم نکردید به شکل زیر نگاه کنید

باید Collection به صورت زیر باشه

post-673-0-53436600-1466690994_thumb.png

لینک ارسال
به اشتراک گذاری در سایت های دیگر

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";

$id = $_POST["id"];
$name = $_POST["name"];

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}

mysql_query("SET CHARACTER SET utf8");
$sql = "INSERT INTO tbl(id, name)
VALUES ('$id', '$name')";

if ($conn->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}

$conn->close();
?>

------------

از تو خود دیتابیست هم میتونی رو UTF-8 بزاری :pardon: 

 

هر جاش میذارم اون کد رو هیچ فرقی به حالش نمیکنه

از تو دیتابیس رو utf8_persian_ci گذاشتم ولی نمیدونم چرا نمیشه

لطفا کمک کنید

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

اینو یه تست بزن هموطن

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
$id = $_POST["id"];
$name = $_POST["name"];
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$conn->query("SET CHARACTER SET utf8");
$sql = "INSERT INTO tbl(id, name)
VALUES ('$id', '$name')";
if ($conn->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
?>
لینک ارسال
به اشتراک گذاری در سایت های دیگر

این روش رو هم تست کنید :

 

یک فایل insert.php :

<?php
include 'db.php';
$id= $_POST['id'];
$name= $_POST['name'];
$family= $_POST['family'];

mysql_query("INSERT INTO izadi(id,name,family) VALUES('$id','$name','$family')")

?>

یک فایل هم در کنارش با نام db.php :

<?php
$con = mysql_connect("localhost","username","password");

mysql_query("SET character_set_results=utf8,character_set_client=utf8,character_set_connection=utf8, character_set_database=utf8,character_set_server=utf8",$con);

mysql_select_db("database name", $con)
?>
لینک ارسال
به اشتراک گذاری در سایت های دیگر

<?

$databasehost = "localhost";
$databasename = "myDB";
$databaseusername ="username";
$databasepassword = "password";
$con = mysql_connect($databasehost,$databaseusername,$databasepassword) or die(mysql_error());
mysql_select_db($databasename) or die(mysql_error());
mysql_query("SET CHARACTER SET utf8");
$query = file_get_contents("php://input");
$sth = mysql_query($query);


if ($con->mysql_query($query) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}

$con->close();
?>

از این فایل استفاده کنید و کوئری رو از داخل برنامه به وسیله okhttputils2 به صورت زیر بفرستید

Dim htp As HttpJob
htp.Initialize("htpjob",Me)
htp.PostString("yor php file link","your query")
لینک ارسال
به اشتراک گذاری در سایت های دیگر

وقتی دستی داخل فیلد ها فرسی مینویسم همونجوری فارسی میمونه.ولی وقتی با برنامه میفرستم اینجوری میشه
فیلدها و تبل از نوع utf8_persian_ci هست.فکر میکنم مشکل از کد پی اچ پی هست.باید یچیزیش تغییر کنه که حروف بارسی رو هم قرار بده
mysql_query این یعنی چی؟فکر کنم بخاطر اینه

یکی اقایی کنه کمک کنه این حل بشه

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

 

اینو یه تست بزن هموطن

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
$id = $_POST["id"];
$name = $_POST["name"];
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$conn->query("SET CHARACTER SET utf8");
$sql = "INSERT INTO tbl(id, name)
VALUES ('$id', '$name')";
if ($conn->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
?>

دستت در نکنه درست شد

از همگی ممنون خیلی لطف کردید

لینک ارسال
به اشتراک گذاری در سایت های دیگر

کدی که بنده دادم ویرایش کنید با اسم فیلدهاتون یه تست بزنید شاید جوابتون رو بده...

لینک ارسال
به اشتراک گذاری در سایت های دیگر

همگی خسته نباشید به نتیجه رسیدم

ممنون

سلامت باشید

از چه روشی؟ مشکل از کجا بود؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...