您的位置:首页 > 运维架构 > Linux

Ubuntu Linux下Java Web应用程序需要注意的几点问题

2014-03-10 20:40 399 查看
1。MySQL的默认字符集设定 :重建数据表之前,MYSQL的数据库设定:

首先是要修改MYSQL数据库的默认字符集设定。在重建数据库之前,应当把默认字符集设定为UTF8。操作办法:

停止MYSQL服务器: sudo /etc/init.d/mysql stop

编辑MYSQL配置文件: sudo gedit /etc/mysql/my.cnf

在[mysqld]下加入:

default-character-set=utf8

init_connect='SET NAMES utf8'

在[client]下加入:

default-character-set=utf8

保存以后,启动MYSQL服务器

sudo /etc/init.d/mysql start

进入MYSQL: mysql -u root -p

mysql>show variables like 'character%';

+--------------------------+----------------------------+

| Variable_name | Value |

+--------------------------+----------------------------+

| character_set_client | utf8 |

| character_set_connection | utf8 |

| character_set_database | utf8 |

| character_set_filesystem | binary |

| character_set_results | utf8 |

| character_set_server | utf8 |

| character_set_system | utf8 |

| character_sets_dir | /usr/share/mysql/charsets/ |

+--------------------------+----------------------------+

8 rows in set (0.00 sec)

证明已经修改成功

2。数据库表的大小写敏感性。 在 MySQL 中,数据库和表对就于那些目录下的目录和文件。因而,操作系统的敏感性决定数据库和表命名的大小写敏感。这就意味着数据库和表名在 Windows 中是大小写不敏感的,而在大多数类型的 Unix 系统中是大小写敏感的。

奇怪的是列名与列的别名在所有的情况下均是忽略大小写的,而表的别名又是区分大小写的。

要避免这个问题,你最好在定义数据库命名规则的时候就全部采用小写字母加下划线的组合,而不使用任何的大写字母。

或者也可以强制以 -O lower_case_table_names=1 参数启动 mysqld(如果使用 --defaults-file=...\my.cnf 参数来读取指定的配置文件启动 mysqld 的话,你需要在配置文件的 [mysqld] 区段下增加一行 lower_case_table_names=1)。这样MySQL 将在创建与查找时将所有的表名自动转换为小写字符(这个选项缺省地在 Windows 中为 1 ,在 Unix 中为 0。从 MySQL 4.0.2 开始,这个选项同样适用于数据库名)。

当你更改这个选项时,你必须在启动 mysqld 前首先将老的表名转换为小写字母。

换句话说,如果你希望在数据库里面创建表的时候保留大小写字符状态,则应该把这个参数置0: lower_case_table_names=1 。否则的话你会发现同样的sqldump脚本在不同的操作系统下最终导入的结果不一样(在Windows下所有的大写字符都变成小写了)。

3. JDK默认的文件编码字符集。 本人负责开发的系统中涉及到一些数据的导入导出工作。在CSV导入的时候,可能由于JDK在Linux默认的文件字符集设定是UTF-8,所以,如果涉及到文本内容文件的读写,最好指定FileInputStream的编码字符集,或者利用JVM启动参数 -Dfile.encoding=gbk 来设定默认的文件编码字符集。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐