`

字符编码知识以及mysql中文乱码的解决

 
阅读更多

概述

在写团购网站项目是出现了中文乱码情况。这里总结了相关知识及解决方法和大家分享。

问题及现象描述

Jsp页面除数据库查询出来的中文字符有乱码情况外,其他中文字符一切正常如图1-1。什么原因?如何解决?

相关知识

什么是字符编码:字符编码就是用二进制表示的字符。不同的二进制表示形式形成了不同的字符编码集,他们用不同的。具有代表性的有UTF-8,GBK,GB2312,ISO-8859-1

UTF-8又称为万国码,它的字节长度是可变的从1-6个字节不等。它能表示的字符集也非常的大。

GBKGB2312的拓展,它是中华人民共和国全国信息技术标准技术委员会于1995年制定的。是windows采用的字符集编码,它占有2个字节。

ISO-8859-1是欧洲用的字符编码,它占有一个字节。mysql的默认编码。

字符和它对应的字节是一一对应的吗?

是的,这就是为什么图片要转换成字节存入数据库而字符却不需要的原因。图片如果变成字符后存入数据库,由于它里面的字节有些是在字符集之外的。比如ASCII的前29个字节是没有像对应的字符的,如果你用的是windows那么,数据库存的字节只能再GBK范围内。所以图片就不是原来的图片了。

mysql数据库的字符集有4------系统级,数据库级,表级,字段级。

在建立数据库表的时候可以设置字段级:

CREATE TABLE goods(

id INT(11) NOT NULL PRIMARY KEY auto_increment,

_describe CHAR(100) charset 'gbk',

price INT(11),

cPrice INT(11),

save INT(11),

city CHAR(10) charset 'gbk',

image CHAR(100),

isOld Boolean

);

系统级,数据库级的设置可以用 。他们默认为ISO8859-1也就是latin1

查看字段级编码用:show full columns form tablename;命令

查看表级编码用:show create table tablename;命令。

Mysql的连接属性用于设置connection的字符编码,客户端的字符编码,系统的字符编码等。Mysql是以这些编码形式和外界交互的。

查看属性的命令是:show variables like ‘char%’;

修改属性的命令是:set names ‘GBK’;

Jsp页面的contentType是要显示在用户界面的字符编码。contentType是给jvm用的,告诉它jsp代码的字符编码。

最好把my.ini的配置文件的两个default-character-set=latin1改成default-character-set=gbk用mysql的向导改,不好用。有时给不过来。

分享到:
评论

相关推荐

    解决连接mysql中文显示乱码

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

    mysql数据库乱码解决

    本文将深入探讨MySQL数据库乱码问题的根源、解决方案,以及如何避免未来出现类似问题,确保数据的正确读取与显示。 ### MySQL数据库乱码问题解析 #### 1. **乱码产生的原因** 在MySQL中,乱码通常发生在数据存储...

    java插入mysql中文乱码解决

    1. **字符集不一致**:如果Java程序、JDBC驱动、MySQL服务器以及数据库表的字符集设置不一致,就会导致中文乱码。例如,如果Java程序使用的是GBK编码,而MySQL服务器使用的是UTF-8编码,则会导致乱码。 2. **连接...

    PHP+MySql中文乱码解决方案

    解决乱码问题的关键在于确保整个流程中的字符编码保持一致。 #### 二、乱码产生的原因 在PHP+MySQL的开发环境中,乱码主要由以下几个方面的原因造成: 1. **数据库默认编码与网页编码不一致**:MySQL数据库的默认...

    PHP+MySql中文乱码解决办法

    ### PHP+MySQL中文乱码解决办法详解 #### 一、乱码产生的原因 在使用PHP+MySQL进行开发的过程中,中文乱码问题是常见的一个问题。乱码现象通常发生在从数据库查询中文数据时,显示出来的中文变成了不可识别的符号...

    jsp+mysql中文乱码解决方案集合

    - 如果在应用中仍然遇到乱码问题,还需要检查JSP页面、连接数据库的驱动以及应用服务器的配置是否一致地使用UTF-8编码。 - 确保所有涉及到数据读写的环节都使用相同的字符集,避免在转换过程中出现乱码。 - 如果已经...

    彻底解决C# asp.net连接MySQL乱码问题

    ### 彻底解决C# ASP.NET 连接MySQL乱码问题 在开发过程中,尤其是在处理中文数据时,经常遇到的一个问题是数据库连接时出现乱码。本文将详细介绍如何彻底解决使用C# ASP.NET 应用程序连接 MySQL 数据库时出现的乱码...

    ubuntu mysql中中文乱码问题.docx

    在部分内容中,作者提供了多种解决方案,包括使用 SET 命令来设置字符编码,修改 MySQL 配置文件 my.cnf 以及使用 sudo 命令来重启 MySQL 服务。 知识点总结 1. MySQL 数据库中文乱码问题可能是由于字符编码设置不...

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

    本篇文章将深入探讨如何解决C#操作MySQL时的中文乱码问题,并提供相关的源码示例。 首先,确保你的MySQL数据库服务器配置正确。MySQL默认使用的是`UTF-8`编码,但在某些情况下,如旧版本的MySQL或者特殊的配置,...

    在DELPHI中使用MyDAC连接MySQL数据库时中文显示乱码的解决方法

    ### 在DELPHI中使用MyDAC连接MySQL数据库时中文显示乱码的解决方法 #### 背景介绍 在软件开发过程中,特别是涉及到多语言环境的应用程序开发时,字符编码问题常常成为开发者需要解决的一个重要问题。对于使用...

    mac MySQL中文乱码解决办法

    本文将详细介绍如何解决macOS系统下MySQL中文乱码的问题,通过修改配置文件my.cnf来调整MySQL的字符集,确保中文能够正常显示。 ### 解决方案详解 #### 步骤一:定位my.cnf配置文件 首先,需要找到或创建MySQL的...

    mysql汉字乱码问题

    这主要涉及到字符编码设置不正确,导致在存储或显示汉字时出现乱码。在MySQL中,字符集是用来定义如何存储和处理字符的规则,它包括服务器级别的字符集、数据库级别的字符集、表级别的字符集以及字段级别的字符集。...

    Java写入MySQL中文乱码解决方法.docx

    Java 写入 MySQL 中文乱码解决方法 随着全球化的发展,数据存储和处理变得越来越重要,而数据库则是数据存储的核心。...通过以上两种方法,可以解决 Java 写入 MySQL 中文乱码的问题,确保中文字符正确地存储和读取。

    mysql中文乱码解决

    MySQL中文乱码问题在Linux和Windows环境下经常遇到,主要原因是字符集设置不正确,导致中文字符无法正常显示或存储。本文将详细介绍如何在两种操作系统下解决这个问题。 在Linux系统下,解决MySQL中文乱码的问题...

    解决MYSQL中文乱码

    本篇文章将深入探讨如何解决 MySQL 数据库中的中文乱码问题,以及与之相关的 JSP 页面显示乱码的解决方案。 首先,让我们理解为什么会出现中文乱码。这通常与字符编码不一致有关。在 Web 开发中,数据可能在多个...

    winform的字符串转换乱码解决

    处理Winform应用中的字符串转换乱码问题,关键在于理解字符编码的工作原理并正确地在各个层面使用它。从文件读取到数据展示,每个环节都要确保编码的一致性。通过细心排查和合理设置,乱码问题可以得到有效解决。 ...

    Mysql字符集编码详解

    设置连接编码是解决中文乱码问题的关键步骤。可以通过SET语句指定连接编码,如下所示: ```sql SET character_set_client='gbk'; SET character_set_connection='gbk'; SET character_set_results='gbk'; ``` 也...

    Mysql运行SQL语句中文乱码问题的解决方法

    例如,使用Java连接MySQL时,可以在连接URL中指定字符集: ```java String url = "jdbc:mysql://localhost:3306/newdb?useUnicode=true&characterEncoding=gbk"; ``` #### 五、运行SQL文件时的编码设置 对于通过...

    Mysql中文乱码问题解决方案

    本文将深入探讨MySQL中文乱码问题的原因、解决方法,以及如何在创建数据库和表时避免这类问题。 首先,我们要了解字符集的概念。字符集(Character Set)是计算机系统用来表示文本的一系列符号和编码,例如ASCII、...

    pb导入mysql5.0中中文乱码

    pb 导入 mysql5.0 中中文乱码问题解决方案 ...解决中文乱码问题需要了解字符编码的基础知识,并根据实际情况选择适合的解决方案。在本文中,我们提供了两个解决方案,帮助开发者快速解决中文乱码问题。

Global site tag (gtag.js) - Google Analytics