MySQL DB(php)

时间:2017-07-25 14:17:55

标签: php mysql encoding utf-8

我在MySQL DB中遇到UTF-8编码问题。我使用HTML表单在MySQL DB和PHP代码中插入数据来表示来自DB的数据。当我使用HTML表单插入字符串"ąčęėįšųū"时,我在PHPMyAdmin中的DB中看到了这样的“Ä…Äęėįšųū”符号。我对WEB上的数据表示没有问题,字符串“Ä…Äęėįšųū”通过select函数表示为“ąčęėįšųū”。 我的目标是存储数据"ąčęėįšųū"而不是“Ä…Äęėįšųū”。你知道如何解决这个问题吗?

MySQL设置> my.ini

init-connect = SET NAMES

utf8 collat​​ion_server = utf8_unicode_ci

被character_set_server = UTF8

数据库设置:

数据库整理&​​gt; utf8_general_ci

表格整理> utf8_general_ci

字段“标题”整理> utf8_general_ci

Apache> php.ini:

DEFAULT_CHARSET = “UTF-8”

提交数据的HTML表单:

<!doctype html>
<html>

<head>
  <meta charset="utf-8">
  <title>Untitled Document</title>
</head>

<body>
  <form id="form1" name="form1" method="post" action="tournaments-action.php" accept-charset="utf-8">
    <p>
      <label for="textfield">Text Field:</label>
      <input type="text" name="title" id="textfield">
    </p>
    <p>
      <input type="submit" name="submit" id="submit" value="Submit">
    </p>
  </form>
</body>

</html>

用于提交数据的PHP表单:

<?php
include("../config.php");

$title = mysqli_real_escape_string($db, $_REQUEST['title']);

// attempt insert query execution
$sql = "INSERT INTO tournaments (title) VALUES ('$title')";

if(mysqli_query($db, $sql)){
   $msg="Records added successfully.";
   echo "Loading";
} else{
	$msg="ERROR: Could not able to execute $sql. ";
    echo "Loading";
}
// close connection
mysqli_close($db);
?>

0 个答案:

没有答案