`
hhongq
  • 浏览: 41514 次
  • 来自: ...
最近访客 更多访客>>
社区版块
存档分类
最新评论

关于mysql latin1编码时候的乱码问题的解决

阅读更多
场景:
1. 数据库: mysql5 字符集latin1
2. 应用程序(java): GBK编码
3. 数据库连接字符串
jdbc:mysql://host:port/dbname
4. 取出之后转码:
getBytes("ISO-8859-1") , "GBK")
5. java驱动:
mysql-connector-java-5.1.6-bin.jar
mysql-connector-java-5.1.5-bin.jar
mysql-connector-java-5.0.4-bin.jar

现象:
大部分中文都能够正常显示
就是有小部分代码,如団等多个字符无法正常显示。
使用上面的3中驱动都无法解决该问题

但是使用C++去取能正常取得。

解决方法:
debug发现是java驱动的问题,
在驱动5版本中,所有的以latin1转码的,在取回来的时候,会全部转成是
Cp1252,cp1252在转数据的时候,会把一些字,如:団 转错掉。

现在解决方法是修改jdbc的驱动程序,修改ResultSetRow中的
protected String getString(String encoding, ConnectionImpl conn,
byte[] value, int offset, int length) throws SQLException {
方法之后 就没有问题。
分享到:
评论
7 楼 frankiekuo 2008-12-10  
請問一下
修改ResultSetRow中的
protected String getString(String encoding, ConnectionImpl conn,
byte[] value, int offset, int length) throws SQLException {

是指怎樣的修改,可以分享一下嗎? 感謝 :>
6 楼 stephen830 2008-10-20  
历史遗留问题是比较麻烦。

要改成utf-8工作量太大,不改的话又会遇到编码问题。

5 楼 FGhost 2008-10-20  
引用
现在解决方法是修改jdbc的驱动程序,修改ResultSetRow中的
protected String getString(String encoding, ConnectionImpl conn,
byte[] value, int offset, int length) throws SQLException {
方法之后 就没有问题。

您能不能说得详细些?谢谢!
4 楼 FGhost 2008-10-20  
估计是历史问题!我现在这个项目也碰到了
3 楼 mathgl 2008-08-02  
use utf-8 as table encoding is much better.

before trying to fetch record
send "set names gbk;" to server first
it probably can solve some coding problems
2 楼 hhongq 2008-08-02  
这个数据库是多个地方要使用,不止我这一个
1 楼 xmvigour 2008-08-02  
为什么不一开始使用utf8???
采用latin1用什么好处 能告知一下好吗?

相关推荐

    解决连接mysql中文显示乱码

    解决MySQL连接时中文显示乱码的问题,关键在于确保数据库、连接参数以及应用程序内部各环节的字符集设置保持一致,并采用适合中文字符的编码方式,如UTF-8。通过上述步骤,可以有效避免中文乱码现象,保证数据的正确...

    MySQL数据库系统中文乱码问题及解决方案.pdf

    MySQL数据库系统中文乱码问题及解决方案 MySQL数据库系统中文乱码问题是指在使用MySQL数据库系统时,中文字符在存储、传输和显示过程中出现乱码的问题。这种问题的出现是由于字符集和编码方式的不兼容所致。 在...

    解决C#操作Mysql时中文乱码问题(真的解决了)

    总的来说,解决C#操作MySQL中文乱码问题的关键在于保持从数据库配置到代码再到文件的整个过程中的编码一致性,使用UTF-8编码,并确保在每个环节都正确地指定和处理。通过以上步骤,你应该能够成功地避免中文乱码问题...

    mysql乱码问题解决

    ### MySQL乱码问题解决方案 在处理数据库操作时,字符集编码问题经常会导致数据展示或存储过程中出现乱码现象。MySQL作为广泛使用的开源关系型数据库管理系统之一,在实际应用中也难免会遇到字符集不匹配导致的数据...

    MySQL乱码解决方案数据库乱码

    #### 四、MySQL乱码解决方案 1. **检查MySQL服务器端字符集设置**: - 使用命令`SHOW VARIABLES LIKE 'character_set_%';`来查看当前MySQL服务器上的各种字符集设置。 - 如果发现任何一项字符集设置不正确(比如...

    Mysql插入中文乱码问题解决

    ### MySQL 插入中文乱码问题详解与解决方案 #### 一、问题背景及原因分析 在使用 MySQL 数据库处理中文数据时,经常会遇到一个让人头疼的问题——中文乱码。中文乱码不仅影响用户体验,还可能导致数据丢失或者错误...

    mysql中文乱码问题

    MySQL 中文乱码问题解决方法 MySQL 是一个功能强大且广泛应用的关系型数据库管理系统,但是,在使用 MySQL 时,用户经常会遇到中文乱码问题。今天,我们将讨论在 MySQL 中的中文乱码问题,并提供解决方法。 MySQL...

    java中MySQL中文乱码问题解决方案

    Java 中 MySQL 中文乱码问题解决方案 Java 中 MySQL 中文乱码问题是数据库开发中常见的问题之一,解决这个问题需要对数据库、JSP 和 Tomcat 进行相应的设置。下面我们将详细介绍解决该问题的方案。 数据库编码修改...

    mysql 数据库乱码问题解决

    解决Linux下的MySQL乱码问题主要涉及以下几个步骤: 1. **查看当前字符集设置**: 使用`show variables like 'character%'`命令可以查看MySQL服务器、客户端、连接以及结果集的字符集设置。在示例中,所有这些设置...

    MySql数据库导入乱码

    MySql 数据库导入乱码解决方案 在使用 PHPmyadmin 导出 MySql 数据库时,经常会遇到中文乱码的问题,这是因为数据库的字符集编码问题。中文网站使用的字符集编码一般是 gb2312、gbk、utf8 等三种,而 PHPmyadmin 的...

    Mysql字符集编码详解

    这篇文章将详细介绍如何解决Mysql数据库乱码问题,彻底解决JAVA项目中的中文乱码问题。 一、服务器编码设置 在安装Mysql时,选择合适的字符集非常重要。如果选择不当,将会导致中文乱码问题。常见的字符集包括gbk...

    mysql中文乱码的解决方法

    针对以上问题,本文将详细介绍如何彻底解决MySQL中的中文乱码问题,并推荐使用`utf8`或`utf8mb4`字符集,因为它们能兼容世界上绝大多数字符。 #### 二、解决步骤 ##### 步骤一:配置my.ini文件 1. **定位my.ini...

    关于Mysql、Php、phpMyAdmin、Zend 乱码的问题?

    关于Mysql、Php、phpMyAdmin、Zend 乱码的问题是一个常见的问题,而解决它们并不困难。只要我们了解Mysql和浏览器显示的原理,就可以轻松地避免乱码的困扰。 系统说明 在解决乱码问题之前,我们需要了解我们的系统...

    mysql数据库乱码问题解决

    ### MySQL数据库乱码问题解析及解决方案 #### 一、乱码问题分析 在处理数据库时,乱码问题是非常常见的一个问题,特别是在使用MySQL这样的关系型数据库管理系统时。本篇文章旨在全面解析MySQL数据库乱码的原因,并...

    JSP与MySQL交互的中文乱码解决方案

    在JSP与MySQL交互时,中文乱码是一个常见的问题,主要涉及到字符编码的不一致。在J2EE环境中,确保各个层次的字符编码统一是解决乱码的关键。以下是一个详细的解决方案: 首先,我们需要理解JSP、MySQL和字符编码的...

    nodejs和C语言插入mysql数据库乱码问题的解决方法.docx

    当从Node.js向latin1编码的MySQL数据库插入UTF-8编码的中文字符时,会出现乱码。 3. **解决步骤**: - **MySQL配置**:修改MySQL的配置文件`my.cnf`,将全局字符集设置为UTF-8。在`[mysqld]`、`[mysql]`、`[mysql....

    Mysql中文乱码问题完美解决方案

    - **问题描述**:如果MySQL服务端的默认字符集设置为`latin1`等非Unicode编码,则在存储或检索包含中文数据的记录时可能会出现乱码现象。 - **解决方案**: - 修改`my.cnf`或`my.ini`配置文件中的`[mysqld]`部分,...

    windows访问远程linux下mysql乱码问题

    Windows 访问远程 Linux...解决 Windows 访问远程 Linux 下 MySQL 乱码问题需要对 MySQL 的配置文件进行修改,并指定正确的编码方式。在实践中,我们需要根据实际情况选择合适的编码方式,以确保数据的正确性和一致性。

    基于mysql php程序开发的中文乱码问题及对策分析.pdf

    3. 数据库内部编码与存储数据编码冲突:MySQL默认使用latin1编码,如果存储了非latin1编码的数据,比如中文,也可能产生乱码。解决方法是在创建表时明确指定编码为支持中文的,如`CREATE TABLE ... DEFAULT CHARSET=...

Global site tag (gtag.js) - Google Analytics