概述
在写团购网站项目是出现了中文乱码情况。这里总结了相关知识及解决方法和大家分享。
问题及现象描述
Jsp页面除数据库查询出来的中文字符有乱码情况外,其他中文字符一切正常如图1-1。什么原因?如何解决?
相关知识
什么是字符编码:字符编码就是用二进制表示的字符。不同的二进制表示形式形成了不同的字符编码集,他们用不同的。具有代表性的有UTF-8,GBK,GB2312,ISO-8859-1。
UTF-8又称为万国码,它的字节长度是可变的从1-6个字节不等。它能表示的字符集也非常的大。
GBK是GB2312的拓展,它是中华人民共和国全国信息技术标准技术委员会于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连接时中文显示乱码的问题,关键在于确保数据库、连接参数以及应用程序内部各环节的字符集设置保持一致,并采用适合中文字符的编码方式,如UTF-8。通过上述步骤,可以有效避免中文乱码现象,保证数据的正确...
本文将深入探讨MySQL数据库乱码问题的根源、解决方案,以及如何避免未来出现类似问题,确保数据的正确读取与显示。 ### MySQL数据库乱码问题解析 #### 1. **乱码产生的原因** 在MySQL中,乱码通常发生在数据存储...
1. **字符集不一致**:如果Java程序、JDBC驱动、MySQL服务器以及数据库表的字符集设置不一致,就会导致中文乱码。例如,如果Java程序使用的是GBK编码,而MySQL服务器使用的是UTF-8编码,则会导致乱码。 2. **连接...
解决乱码问题的关键在于确保整个流程中的字符编码保持一致。 #### 二、乱码产生的原因 在PHP+MySQL的开发环境中,乱码主要由以下几个方面的原因造成: 1. **数据库默认编码与网页编码不一致**:MySQL数据库的默认...
### PHP+MySQL中文乱码解决办法详解 #### 一、乱码产生的原因 在使用PHP+MySQL进行开发的过程中,中文乱码问题是常见的一个问题。乱码现象通常发生在从数据库查询中文数据时,显示出来的中文变成了不可识别的符号...
- 如果在应用中仍然遇到乱码问题,还需要检查JSP页面、连接数据库的驱动以及应用服务器的配置是否一致地使用UTF-8编码。 - 确保所有涉及到数据读写的环节都使用相同的字符集,避免在转换过程中出现乱码。 - 如果已经...
### 彻底解决C# ASP.NET 连接MySQL乱码问题 在开发过程中,尤其是在处理中文数据时,经常遇到的一个问题是数据库连接时出现乱码。本文将详细介绍如何彻底解决使用C# ASP.NET 应用程序连接 MySQL 数据库时出现的乱码...
在部分内容中,作者提供了多种解决方案,包括使用 SET 命令来设置字符编码,修改 MySQL 配置文件 my.cnf 以及使用 sudo 命令来重启 MySQL 服务。 知识点总结 1. MySQL 数据库中文乱码问题可能是由于字符编码设置不...
本篇文章将深入探讨如何解决C#操作MySQL时的中文乱码问题,并提供相关的源码示例。 首先,确保你的MySQL数据库服务器配置正确。MySQL默认使用的是`UTF-8`编码,但在某些情况下,如旧版本的MySQL或者特殊的配置,...
### 在DELPHI中使用MyDAC连接MySQL数据库时中文显示乱码的解决方法 #### 背景介绍 在软件开发过程中,特别是涉及到多语言环境的应用程序开发时,字符编码问题常常成为开发者需要解决的一个重要问题。对于使用...
本文将详细介绍如何解决macOS系统下MySQL中文乱码的问题,通过修改配置文件my.cnf来调整MySQL的字符集,确保中文能够正常显示。 ### 解决方案详解 #### 步骤一:定位my.cnf配置文件 首先,需要找到或创建MySQL的...
这主要涉及到字符编码设置不正确,导致在存储或显示汉字时出现乱码。在MySQL中,字符集是用来定义如何存储和处理字符的规则,它包括服务器级别的字符集、数据库级别的字符集、表级别的字符集以及字段级别的字符集。...
Java 写入 MySQL 中文乱码解决方法 随着全球化的发展,数据存储和处理变得越来越重要,而数据库则是数据存储的核心。...通过以上两种方法,可以解决 Java 写入 MySQL 中文乱码的问题,确保中文字符正确地存储和读取。
MySQL中文乱码问题在Linux和Windows环境下经常遇到,主要原因是字符集设置不正确,导致中文字符无法正常显示或存储。本文将详细介绍如何在两种操作系统下解决这个问题。 在Linux系统下,解决MySQL中文乱码的问题...
本篇文章将深入探讨如何解决 MySQL 数据库中的中文乱码问题,以及与之相关的 JSP 页面显示乱码的解决方案。 首先,让我们理解为什么会出现中文乱码。这通常与字符编码不一致有关。在 Web 开发中,数据可能在多个...
处理Winform应用中的字符串转换乱码问题,关键在于理解字符编码的工作原理并正确地在各个层面使用它。从文件读取到数据展示,每个环节都要确保编码的一致性。通过细心排查和合理设置,乱码问题可以得到有效解决。 ...
设置连接编码是解决中文乱码问题的关键步骤。可以通过SET语句指定连接编码,如下所示: ```sql SET character_set_client='gbk'; SET character_set_connection='gbk'; SET character_set_results='gbk'; ``` 也...
例如,使用Java连接MySQL时,可以在连接URL中指定字符集: ```java String url = "jdbc:mysql://localhost:3306/newdb?useUnicode=true&characterEncoding=gbk"; ``` #### 五、运行SQL文件时的编码设置 对于通过...
本文将深入探讨MySQL中文乱码问题的原因、解决方法,以及如何在创建数据库和表时避免这类问题。 首先,我们要了解字符集的概念。字符集(Character Set)是计算机系统用来表示文本的一系列符号和编码,例如ASCII、...
pb 导入 mysql5.0 中中文乱码问题解决方案 ...解决中文乱码问题需要了解字符编码的基础知识,并根据实际情况选择适合的解决方案。在本文中,我们提供了两个解决方案,帮助开发者快速解决中文乱码问题。