MYSQL名称字段未在其他语言中使用名称

时间:2016-01-07 06:48:23

标签: mysql

我有这个字段

display_name    varchar(30) latin1_swedish_ci

它像往常一样使用英文名称,但是这个数据库处理不同的语言,并且来自周围的用户都输入名称,其中一些是不同的语言。法语允许说,并且以法语显示的名称显示为??????? 可能是什么原因?我认为它与此latin1_swedish_ci有关如何使这个字段通用以正确显示任何语言的任何名称?

2 个答案:

答案 0 :(得分:2)

您需要致电:

mysql_set_charset("utf8");

另请参阅:10.1.10 Unicode Support

或者另一种方法是在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