【发布时间】:2012-03-23 17:30:30
【问题描述】:
我试图将希伯来语放在 mysql DB 中,但我阅读了所有答案,但没有奏效。 我可以将希伯来语值与 php 我的管理员一起使用,因此问题一定出在脚本上。 我尝试使用:
1.header().
2.设置名称 utf-8.
3.mysql_set_charset().
<?php
$cate_name=$_POST['cate_name'];
$query="INSERT INTO project_food_cate (name) VALUES(?)";
$connector=new MySQLi("localhost","[redacted]","[redacted]","users");
/*this code need to put the a privalage to use hebrew values for the rows*/
header('Content-Type:text/html; charset=utf-8');
mysql_query("SET character_set_client=utf8");
mysql_query("SET character_set_connection=utf8");
mysql_query("SET character_set_database=utf8");
mysql_query("SET character_set_results=utf8");
mysql_query("SET character_set_server=utf8");
mysql_query("SET NAMES utf8");
mysqli_set_charset('utf-8',$connector);
$charset = mysql_client_encoding($connector);
echo "The current character set is:".$charset."\n"; //not giving a value.
/***************************************************************/
if (mysqli_connect_errno())
{
echo "error has been happend";
exit();
}
$stmt=$connector-> prepare($query);
$stmt-> bind_param("s",$cate_name);
$stmt-> execute();
echo $stmt-> affected_rows." has enter to this DB";
$stmt->free();
$stmt->close();
?>
【问题讨论】:
-
你在混合
mysqli和mysql。 -
如果您使用的是 mysqli,那么 mysql_* 函数不会为您做任何事情;它们来自不同的图书馆。
-
表
project_food_cate中的字段name定义了什么字符集?另外,请注意您发送的header()应注明utf-8而不是utf8。 -
尝试
echo发布的变量,看看发布的数据是否显示正常,然后你就会知道你有一个HTML编码问题。确保您的浏览器理解它应该在浏览器的编码设置中以 UTF-8 显示和编码。 -
我会按照你的建议去做。
标签: php mysql utf-8 mysqli hebrew