PHP がデータベースに文字化けを入力します
データベースのエンコーディングは「utf8_bin」で、フィールドのエンコーディングも「utf8_bin」です。PHP がデータベースに中国語を入力すると、常に文字化けします。また、テキストを含むphpファイルを編集し、utf-8として保存しましたが、問題はまだ解決されていません。以下はコードです
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --> <?php require_once('../Connections/internal.php'); ?> <?php if (!function_exists("GetSQLValueString")) { function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") { if (PHP_VERSION < 6) { $theValue = get_magic_quotes_gpc() ?ストリップスラッシュ($theValue) : $theValue; } $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue); スイッチ ($theType) { 「テキスト」の場合: $theValue = ($theValue != "") ? 「」。 $theValue 。 "'" : "NULL"; 壊す; 「長い」場合: ケース "int": $theValue = ($theValue != "") ? intval($theValue) : "NULL"; 壊す; 「ダブル」の場合: $theValue = ($theValue != "") ? doubleval($theValue) : "NULL"; 壊す; ケース「日付」: $theValue = ($theValue != "") ? 「」。 $theValue 。 "'" : "NULL"; 壊す; ケースが「定義されている」: $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue; 壊す; } $theValue を返します。 } } $editFormAction = $_SERVER['PHP_SELF']; if (isset($_SERVER['QUERY_STRING'])) { $editFormAction .= "?" 。 htmlentities($_SERVER['QUERY_STRING']); } if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) { $insertSQL = sprintf("INSERT INTO ディスカッション (a, content) VALUES (%s, %s)", GetSQLValueString($_POST['a'], "テキスト"), GetSQLValueString($_POST['content'], "text")); mysql_select_db($database_internal, $internal); $Result1 = mysql_query($insertSQL, $internal) または die(mysql_error()); } mysql_select_db($database_internal, $internal); $query_Recordset1 = "SELECT * FROM ディスカッション"; $Recordset1 = mysql_query($query_Recordset1, $internal) または die(mysql_error()); $row_Recordset1 = mysql_fetch_assoc($Recordset1); $totalRows_Recordset1 = mysql_num_rows($Recordset1); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <頭> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>ディスカッション</title> </head> <テーブル幅="100%" ボーダー="1"> <tr bgcolor="#99CC33"> <td width="8%">WHO</td> <td width="84%">在说什么</td> <td width="8%">楼</td> </tr> $result1 = mysql_query("SELECT * FROM ディスカッション where id $a</td> <td>$content</td> <td>$id</td> </tr> "; } ?> </テーブル> <form action="<?php echo $editFormAction; ?>" Method="POST" name="form1" id="form1"> <p> <label for="content"></label> <textarea name="content" id="content"cols="90" rows="5"></textarea> </p> 选择你的身份 <label for="a"></label> <名前="a" id="a"を選択> <オプション>A</オプション> <オプション>B</オプション> <オプション>C</オプション> <オプション>D</オプション> </選択> <p> <input type="submit" name="button" id="button" value="提交" /> </p> <input type="hidden" name="MM_insert" value="form1" /> </フォーム> <p> </p> </ボディ> </html> <?php mysql_free_result($Recordset1); ?> <div class="clear"></div>