我有一个MySQL数据库表来存储国家名称和货币符号 - 字符集已正确设置为UTF8。
以下是插入到表中的示例数据:
insert into country ( country_name, currency_name, currency_code, currency_symbol) values ('英国','英镑','GBP','£');
当我查看数据库时,英镑符号显示正常,但是当我从数据库检索并在网站上显示它时,出现了一个奇怪的方块符号,里面有一个问号,而不是英镑符号。
编辑: 在my.cnf中,字符集设置为latin1,我将其更改为utf8,然后以root身份登录并运行\s,返回:
Server characterset: utf8 Client characterset: utf8
排序方式:
- 数据库
SELECT default_collation_name FROM information_schema.schemata WHERE schema_name = 'swipe_prod';
此查询未返回任何结果。
- 表
SELECT table_collation FROM information_schema.tables WHERE TABLE_NAME = 'country';
此查询返回utf8_general_ci。
- 列
SELECT collation_name FROM information_schema.columns WHERE TABLE_NAME = 'country';
此查询返回7行,但所有行都具有null或utf8_general_ci。
PHP代码: 请给予建议,谢谢。
以下是插入到表中的示例数据:
insert into country ( country_name, currency_name, currency_code, currency_symbol) values ('英国','英镑','GBP','£');
当我查看数据库时,英镑符号显示正常,但是当我从数据库检索并在网站上显示它时,出现了一个奇怪的方块符号,里面有一个问号,而不是英镑符号。
编辑: 在my.cnf中,字符集设置为latin1,我将其更改为utf8,然后以root身份登录并运行\s,返回:
Server characterset: utf8 Client characterset: utf8
排序方式:
- 数据库
SELECT default_collation_name FROM information_schema.schemata WHERE schema_name = 'swipe_prod';
此查询未返回任何结果。
- 表
SELECT table_collation FROM information_schema.tables WHERE TABLE_NAME = 'country';
此查询返回utf8_general_ci。
- 列
SELECT collation_name FROM information_schema.columns WHERE TABLE_NAME = 'country';
此查询返回7行,但所有行都具有null或utf8_general_ci。
PHP代码: 请给予建议,谢谢。
mysql_set_charset('utf8', $con);
。 - Peter Bailey