1
私は人々がリンクを取って情報を入力してデータベースに保存される登録フォームを作ろうとしています。残念ながら、フォームを使用してアラビア語で情報を入力しようとすると、PhpMyAdminに未知の文字として格納されます。 私は次のことを成功させることなく試しました。データベースにアラビア語の文字を保存する際の問題
データベースハンドラページでデフォルトの文字セットを設定し<meta charset="utf-8">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
:
$cfg['DefaultCharset'] = 'utf_8';
$cfg['DefaultConnectionCollation'] = 'utf8_general_ci';
はutf8_general_ci
チャテーブルを照合しました照合順序
utf8_general_ci
sqlとしてエクスポートされ、文字セットを編集しましたが、私はすでにUTF-8を見つけました。
ブラウザのユニコードがUTF-8に設定されていることを確認しました。
そして、それは、それがどのように動作するかの例です:
<form action="signup.php" method="POST" class="form">
<input type="text" name="first"><br />
<input type="text" name="uid"><br />
<input type="date" name="dob"><br />
-
$first = $_POST['first'];
$uid = $_POST['uid'];
$dob = $_POST['dob'];
$sql = "INSERT INTO students (first, uid, dob)
VALUES ('$first','$uid', '$dob')";
$result = mysqli_query($conn, $sql);
そして、彼らがDBに接続するために必要なファイルを介して接続しています。
$cfg['DefaultCharset'] = 'utf_8';
$cfg['DefaultConnectionCollation'] = 'utf8_general_ci';
$conn = mysqli_connect("localhost", "root", "", "test2");
if (!$conn) {
die("Connection failed: ". mysqli_connect_error());
}
何が原因で起こっているのかわからず、私は速い修正が必要です。
PhpMyAdminには何も格納されません。ただし、ブラウザの設定が間違っている可能性があります。入力がデータベースにどのように入力されるのかは分かりませんでした。そのため、1ステップから100ステップの間に問題が発生する可能性があります。 – dezso
質問を編集してより明確にしました。 @dezso –
接続直後にこのクエリを実行してみてください: 'SET NAMES utf8' –