|  | Posted by ben on 06/18/46 11:30 
Hi all,
 I have a simple PHP page that takes values from a form and puts them in a
 database (MySQL).
 
 The code is in a file test.php, which I have typed in at the bottom of
 this post (please excuse any typos). This page is not a production page -
 I created it just to try and solve the £ sign problem I am having.
 
 When I put the pound sign (£) into the input box and submit the form,
 what gets inserted into mysql is an A with a ^ on top, followed by the
 pound sign. I notice that the request URI shows the £ sign as %C2%A3. If
 I run the query manually in php (i.e. mysql_query("INSERT INTO test
 VALUES('£')") ) then it is fine. (The problem occurs with both GET and
 POST)
 
 I have read up a bit about it and I believe that the problem is that one
 part of the system uses UTF-8 while the other part uses ISO-8859-1. The
 database is ISO-8859-1 (latin1).
 
 Using phpmyadmin, I can put a £ sign into the database with no problem,
 so I know that there must be a solution to this issue within PHP, but I
 have no idea what it is!!!!
 
 Any clues appreciated :)
 
 Cheers,
 
 Ben
 
 --
 
 test.php:
 
 <?php
 mysql_connect('localhost', 'root', '');
 mysql_select_db("test");
 mysql_query("INSERT INTO test VALUES('".$_REQUEST['testpound']."')");
 ?>
 <HTML>
 <BODY>
 <form action="test.php">
 <input name="testpound">
 <input type="submit">
 </form>
 </body>
 </html>
  Navigation: [Reply to this message] |