【问题标题】:putting an hebrew at mysql在 mysql 上放一个希伯来语
【发布时间】: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();
?> 

【问题讨论】:

  • 你在混合mysqlimysql
  • 如果您使用的是 mysqli,那么 mysql_* 函数不会为您做任何事情;它们来自不同的图书馆。
  • project_food_cate中的字段name定义了什么字符集?另外,请注意您发送的header() 应注明utf-8 而不是utf8
  • 尝试echo发布的变量,看看发布的数据是否显示正常,然后你就会知道你有一个HTML编码问题。确保您的浏览器理解它应该在浏览器的编码设置中以 UTF-8 显示和编码。
  • 我会按照你的建议去做。

标签: php mysql utf-8 mysqli hebrew


【解决方案1】:

mysqli_set_charset() 应该是 'utf8' 而不是 'utf-8'。 另外我认为应该是 mysqli_set_charset($connector, 'utf8');

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-08-07
    • 1970-01-01
    • 1970-01-01
    • 2013-12-17
    • 2023-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多