OSEC

Neohapsis is currently accepting applications for employment. For more information, please visit our website www.neohapsis.com or email hr@neohapsis.com
 
4.1.7 Character set problem ( Ithink?)

From: Ian Gibbons (mysql2fishnet.co.uk)
Date: Fri Feb 11 2005 - 09:33:24 CST


Hi List,

I am having a strange problem on Linux Fedora Core 3 with MySQL 4.1.7 ( offical
mysql rpms). The data was originally stored in MySQL 3.something and was placed
into the database via a MySQLDump file. It is too late to reload the data.

I have a table called fees:

CREATE TABLE `fees` (
  `refID` int(11) NOT NULL default '0',
  `price` text,
  `tuitionFee` tinyint(4) default NULL,
  `examFee` tinyint(4) default NULL,
  `otherFee` tinyint(4) default NULL,
  `feeText` text,
  `pending` tinyint(4) default '0',
  PRIMARY KEY (`refID`),
  KEY `refID` (`refID`)
) ENGINE=MyISAM DEFAULT CHARSET=latin2

When I try updating the price field for one record, it doesn't seem to recognise the
pound sign (£):

mysql> UPDATE fees SET price= '£45' WHERE refID=732;
Query OK, 0 rows affected (0.00 sec)
Rows matched: 1 Changed: 0 Warnings: 0

mysql> select price from fees where refID=732;
+-------+
| price |
+-------+
| ?45 |
+-------+
1 row in set (0.00 sec)

The same result ?45 is returned via php as well, so its not a console display
problem.

I have also tried this with the latin1 character set with the same results.

I know I am probably better off changing the field type to a double and placing the
pound sign in my php code, but I am curious as to why this happens.

Is it a problem with the character sets? Should I be using a different character set
for English language text ( no international chars ).

Any help will be appreciated.

Ian
--

--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql