我有一个 C#-Application 将数据发送到 php,而 php 将数据存储到 mysql 数据库中。如果我有一个äöü
或其他一些东西(我正在对它进行 urlencoding,所以&%$/")=!
字符串中也包含),它将以È└/
或类似的方式存储在数据库中。所以这绝对是一个编码问题。我该如何解决?
编辑:
我正在使用这些代码:
C#:
WebClient.DownloadString(apiString + "sendMessage.php?user=" + user + "&message=" + message);
PHP:
$verbindung = mysql_connect("nightking.org", "username", "password");
mysql_select_db("apidb");
$ergebnis = mysql_query("INSERT INTO `apidb`.`tm_chatdata` (`username` ,`time` ,`message`) VALUES ('" . $_GET['message'] . "',CURRENT_TIMESTAMP , '" . $_GET['user'] . "');");
当我再次调用这些值时:
PHP:
$verbindung = mysql_connect("nightking.org", "username", "password");
mysql_select_db("apidb");
$ergebnis = mysql_query("(SELECT * FROM `tm_chatdata` ORDER BY time DESC LIMIT 38)ORDER BY time ASC;");
$firstOne = true;
while($row = mysql_fetch_object($ergebnis))
{
if($firstOne)
$firstOne = false;
else
{
echo "\r\n";
}
if($row->username == "system")
{
echo "[" . $row->message . "]";
}
else
{
if($row->username == "command")
{
echo "*".$row->message;
}
else
{
echo /* $row->time . " " . */$row->username . ": " . $row->message;
}
}
}
C#:
WebClient.DownloadString(apiString + "getMessages.php");
MySQL 排序规则类型现在更改为 utf8_bin,但它仍然不起作用。