I've set the PHP character set to utf-8
:
header('Content-Type: text/html; charset=utf-8');
I've set the currency
column in MySQL to varchar(1)
with collation utf8_unicode_ci
.
However, the following code in PHP:
$currency = '€';
$sql = "UPDATE myTable SET currency = '$currency' WHERE user = '$user'";
mysql_query($sql);
Produces the following character in MySQL:
â
How can I get the €
symbol to store properly in MySQL?
Solution 2. INSERT INTO dbo. currency (country, currency,code, symbol) VALUES ('India', 'Rupees', 'INR', N'₨'); Note: the text column has to be of type nvarchar or nchar.
In order to insert Unicode characters in MySQL, you need to create a table with Unicode support, select the appropriate encoding/collation settings, and specify the charset in the MySQL connection. Then, you can proceed and employ PHP code to insert Unicode as you please.
You should store it as & only if the field in the DB contains HTML (like <span class="bold">some text</span> & more ).
Make sure your script file, the file that contains the line
$currency = '€';
is encoded UTF-8. You should have an option to that effect in your editor's or IDE's "Save as" dialog.
Then make sure your connection is UTF-8 encoded as well - it is ISO-8859-1 by default.
After connecting to the database, for mySQL before 5.0.7:
mysql_query("SET NAMES utf8");
For mySQL 5.0.7 and newer:
mysql_set_charset("utf8");
"Working with UTF-8 on the Web" section on this page gives a good rundown: http://dev.mysql.com/tech-resources/articles/4.1/unicode.html
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With