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

问题描述 投票:-1回答:1

我在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,它就可以使用Word“Schärding”。所以错误必须在PHP客户端。

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

php mysql encode
1个回答
0
投票

你应该尝试添加

一旦建立了mysqli连接,就​​会将mysqli_set_charset添加到您的代码中

例如:

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

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

© www.soinside.com 2019 - 2024. All rights reserved.