我有这个字段
display_name varchar(30) latin1_swedish_ci
它像往常一样使用英文名称,但是这个数据库处理不同的语言,并且来自周围的用户都输入名称,其中一些是不同的语言。法语允许说,并且以法语显示的名称显示为???????
可能是什么原因?我认为它与此latin1_swedish_ci
有关如何使这个字段通用以正确显示任何语言的任何名称?
答案 0 :(得分:2)
您需要致电:
mysql_set_charset("utf8");
或者另一种方法是在MYSQL中使用utf-8,将其添加到my.cnf:
collation_server = utf8_unicode_ci character_set_server = utf8
当您执行查询时,首先使用这两个查询:
SET NAMES 'utf8'; CHARSET 'utf8';
答案 1 :(得分:0)
如果php代码连接到mysql,则将代码添加到(类mysql或代码):
$dbLink = mysql_connect($argHost, $argUsername, $argPassword);
mysql_query("SET character_set_results=utf8", $dbLink);
并将元标记中的代码添加到head中的html代码中:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
=============================================== =======================
或
要将默认值设置为UTF-8,您需要将以下内容添加到my.cnf
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
collation-server = utf8_unicode_ci
init-connect='SET NAMES utf8'
character-set-server = utf8