ID: 32927 User updated by: david dot kalosi at spordat dot sk Reported By: david dot kalosi at spordat dot sk -Status: Feedback +Status: Open Bug Type: *Languages/Translation Operating System: Windows XP SP1 PHP Version: 5CVS-2005-05-03 (dev) New Comment:
does not help either - the same character is corrupt again. Previous Comments: ------------------------------------------------------------------------ [2005-05-03 23:14:03] [EMAIL PROTECTED] Pass the input through mysql_real_escape_string(). ------------------------------------------------------------------------ [2005-05-03 15:39:01] david dot kalosi at spordat dot sk Description: ------------ I have a Mysql database with UTF-8 encoding and i am posting data from web also in UTF-8 encoding. The slovak character "č" is messed up - the results from the database are differ from the input. All other special characters are OK. Reproduce code: --------------- mysql> create table t (x varchar(64)) character set utf8; Query OK, 0 rows affected (0.21 sec) mysql> <script language="php"> header("Content-Type: text/html;charset=UTF-8"); $l_conn = mysql_connect("localhost", "formawww", "formawww"); mysql_select_db("forma", $l_conn); echo "<form name=\"test\" method=\"POST\" action=\"test.php\">"; echo "<input type=\"text\" name=\"str\">"; echo "<input type=\"hidden\" name=\"insert\" value=\"1\">"; echo "<input type=\"submit\"></form>"; if (isset($_REQUEST["insert"])) { $l_insert = mysql_query ("insert into t values ('" . $_REQUEST["str"]."')"); } $l_select = mysql_query("select * from t"); echo "------------------<br>"; while ($l_row = mysql_fetch_assoc($l_select)) { echo $l_row["x"] . "<br>\n"; } </script> Expected result: ---------------- enter the following values into the form ľščťžýáíéúäô and the following output is produces ľšĿťžýáíéúäô the third character is corrupted. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=32927&edit=1