MySQL + PHP:如何处理存储过程参数中的变音符号?



我在PHP中有这个函数:

public function getData($data) {
echo $data; //param still right for example: Schärding
$result = mysqli_query($this->conn, "CALL sp_kampagne_findcurrent ('".$data."')") or die(mysqli_error($this->conn));
@mysqli_next_result($this->conn);
return $result;
}

如您所见,我将参数$data传递给我的 SP,然后返回结果。

这里的问题是,如果我传递没有变音符号(ä,ö,ü(单词,它工作得很好,但是如果我使用像"Schärding"这样的词,即使MySQL中存储了数据,它也返回零数据。

奇怪的是,如果我直接PHPmyAdmin中调用我的 SP,它适用于"Schärding"一词。所以错误必须在PHP客户端。

如果您需要更多信息,请说它,请尝试添加更多信息。

你应该尝试添加

mysqli_set_charset到您的代码,一旦建立了 mysqli 连接

例如:

mysqli_set_charset($this->conn,"utf8");

当然要更新编码,使其适合您的需求

最新更新