redhat9下使用mysql乱码的一个原因

原创 2005年03月03日 18:52:00

一个两年前的项目因要进行更新维护需要重新配一个测试环境。
原环境为:
redhat7.3
jdk1.3.1
Apache 1.3
tomcat 4.03
mysql 3.23.51

现环境:
redhat9
jdk1.42
tomcat 4.1.31
mysql 4.10

装好redhat, tomcat, mysql 并把数据倒入mysql后,用mysql的client可看到数据库内的内容正确。
把war包放到tomcat的webapps下,运行tomcat,war包自动解开。
打开页面成功,但当执行需要读取数据库的页面时出错
查log有 Util.getConnection() thrown java.sql.SQLException: No suitable driver
判断为jdbc不配合。查程序发现原来用的jdbc是mm.mysql-2.0.11-bin.jar
http://www.mysql.com下载新版的jdbc mysql-connector-java-3.0.8-stable-bin.jar后也不能用。
重装mysql换成mysql3.23.58,再倒数据设权限。
打开页面后发现英文页面正常中文页面乱码。
执行
export LANG=zh_TW.BIG5
export LC_ALL=zh_TW.BIG5
后中文页面正常,英文页面乱了
再来
export LANG=en_US.iso8859_1
export LC_ALL=en_US.iso8859_1
中英文页面正常。
原来redhat9默认的locale是
LANG=en_US.UTF8
LC_CTYPE="en_US.UTF8"
LC_NUMERIC="en_US.UTF8"
LC_TIME="en_US.UTF8"
LC_COLLATE="en_US.UTF8"
LC_MONETARY="en_US.UTF8"
LC_MESSAGES="en_US.UTF8"
LC_PAPER="en_US.UTF8"
LC_NAME="en_US.UTF8"
LC_ADDRESS="en_US.UTF8"
LC_TELEPHONE="en_US.UTF8"
LC_MEASUREMENT="en_US.UTF8"
LC_IDENTIFICATION="en_US.UTF8"
LC_ALL=en_US.UTF8

改动后为
LANG=en_US.iso8859_1
LC_CTYPE="en_US.iso8859_1"
LC_NUMERIC="en_US.iso8859_1"
LC_TIME="en_US.iso8859_1"
LC_COLLATE="en_US.iso8859_1"
LC_MONETARY="en_US.iso8859_1"
LC_MESSAGES="en_US.iso8859_1"
LC_PAPER="en_US.iso8859_1"
LC_NAME="en_US.iso8859_1"
LC_ADDRESS="en_US.iso8859_1"
LC_TELEPHONE="en_US.iso8859_1"
LC_MEASUREMENT="en_US.iso8859_1"
LC_IDENTIFICATION="en_US.iso8859_1"
LC_ALL=en_US.iso8859_1

把export LANG=en_US.iso8859_1  export LC_ALL=en_US.iso8859_1 写入/etc/profile重启成功。

mysql保存中文乱码的原因和解决办法

当你遇到这个mysql保存中文乱码问题的时候,期待找到mysql保存中文乱码的原因和解决办法这样一篇能解决问题的文章是多么激动人心。     也许30%的程序员会选择自己百度,结果发现网友已经...

mysql保存中文乱码的原因和解决办法

当你遇到这个mysql保存中文乱码问题的时候,期待找到mysql保存中文乱码的原因和解决办法这样一篇能解决问题的文章是多么激动人心。     也许30%的程序员会选择自己百度,结果发现网友已经...
  • tfy1332
  • tfy1332
  • 2014年03月28日 13:43
  • 393

mysql保存中文乱码的原因和解决办法(首发经典实用版)

当你遇到这个mysql保存中文乱码问题的时候,期待找到mysql保存中文乱码的原因和解决办法(首发经典实用版)这样一篇能解决问题的文章是多么激动人心。     也许30%的程序员会选择自己百度,结果...

mysql字符集(GBK、GB2312、UTF8)与中文乱码的原因及解决

Mysql乱码问题的原因与解决 MySQL对中文的支持程度还是很有限的,尤其是新手,一旦出现乱码问题,就会头大。下面介绍几种乱码问题的现象原因及解决方法,仅供参考。 乱码问题1:用PHPmyAdm...
  • k_scott
  • k_scott
  • 2013年01月10日 18:33
  • 3086

MySQL出现乱码的原因

MySQL出现乱码的原因要了解为什么会出现乱码,我们就先要理解:从客户端发起请求,到MySQL存储数据,再到下次从表取回客户端的过程中,哪些环节会有编码/解码的行为。为了更好的解释这个过程,博主制作了...

MySQL会出现中文乱码的原因不外乎下列几点

1.server本身设定问题,例如还停留在latin1 2.table的语系设定问题(包含character与collation) 3.客户端程式(例如php)的连线语系设定问题 强烈建议使用u...

PHP+MYSQL乱码:原因及解决方法

PHP+MYSQL乱码:原因及解决方法GB2312和UTF-8两个字符集的区别:GB2312是标准中文字符集,UTF-8 是UNICODE 的一种变长字符编码,即RFC 3629,可以解决多种语言文本...

mysql数据库乱码出现的原因、解决办法和表之间的设计,增加约束

INSERT INTO sstud(sno,sname,sage,saddress,ssex) VALUES(‘1013’,’Big’,25,’自己人’,’男’);  DELETE FROM sst...

Java提交到MySQL数据库出现乱码的原因

一、场景说明:              从前端提交数据到服务器端,服务器端处理后,提交数据到MySQL数据库。当前端提交的数据中包含中文字符时出现了乱码的问题。     二、尝试的解决方案:    ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:redhat9下使用mysql乱码的一个原因
举报原因:
原因补充:

(最多只允许输入30个字)