我面临将从我的php网页插入希伯来语数据到mysql数据库的问题。 我对该表的排序规则是utf8_general_ci。 这是php脚本
<html>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<body style="background-color:#990000;">
<h5 align="center" style="font-family:tahoma;color:white;font-size:45px;"> Fill A Question! </h5>
<form align="center" method="post" action="addask.php">
Course Number: <input type="text" name="CourseNum"><br>
Ask: <input align="20px" type="text" name="ask"><br>
<input type="submit" value="Ask">
<?php
header('Content-Type: text/html; charset=utf-8');
session_start();
$UserID = $_SESSION['UserID'];
$password = $_SESSION['password'];
if ((isset($_POST['CourseNum'])) && (isset($_POST['ask'])))
{
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = 'password';
$db = 'jonatandb';
$conn = mysqli_connect($dbhost, $dbuser, $dbpass, $db);
if (!$conn)
{
die ('Could not connect: ' . mysql_error());
}
mysqli_query("SET NAMES 'utf8'");
$sql = "INSERT INTO Asks (UserID,Course_Num,Ask) VALUES ('$UserID','$_POST[CourseNum]','$_POST[ask]')";
mysqli_query($conn,$sql);
mysql_set_charset('utf8',$conn);
mysqli_close($conn);
}
?>
当我尝试使用INSERT DATA直接从mysql命令行将希伯来语数据插入我的数据库时,它可以正常工作。
谢谢!
答案 0 :(得分:1)
尝试更改此内容:
mysqli_query("SET NAMES 'utf-8'");
mysql_set_charset('utf-8',$conn);
有时一个或另一个有效。
将表单更改为:
<form action="addask.php" action="post" accept-charset="UTF-8">
您还需要知道您的数据库是使用的格式是utf-8还是uft8。要查找,请将一些希伯来语插入到您的数据库中,然后尝试用它们提取它。
此外,您不需要UTF-8元数据和标题。我读过让meta减慢了web浏览器的速度,最好的解决办法就是在.htaccess中设置为UTF-8
http://www.w3.org/International/questions/qa-htaccess-charset.en
但我无法保证。