`
hanjian861202
  • 浏览: 165007 次
  • 性别: Icon_minigender_1
  • 来自: 南京
文章分类
社区版块
存档分类
最新评论

MySQL:客户端插入字符集问题

 
阅读更多

此种乱码解决方案如下:

首先,设置自己数据库的编码统一:

Connection id:          81
Current database:
Current user:           root@localhost
SSL:                    Not in use
Using delimiter:        ;
Server version:         5.0.67-community-nt MySQL Community Edition (GPL)
Protocol version:       10
Connection:             localhost via TCP/IP
Server characterset:    gbk
Db     characterset:    gbk
Client characterset:    gbk
Conn.  characterset:    gbk

TCP port:               3306

随后到自己的表里面:

如我的这个表:content 表

+---------+-------------+------+-----+---------+----------------+
| Field   | Type        | Null | Key | Default | Extra          |
+---------+-------------+------+-----+---------+----------------+
| id      | int(11)     | NO   | PRI | NULL    | auto_increment |
| ad      | smallint(6) | NO   |     | 0       |                |
| title   | char(30)    | YES  |     | NULL    |                |
| author  | varchar(30) | YES  |     | NULL    |                |
| content | text        | YES  |     | NULL    |                |
+---------+-------------+------+-----+---------+----------------+

mysql> insert into content(title,author,content) values('插入成','修改于','文字符');

立刻报错:

ERROR 1366 (HY000): Incorrect string value: '\xD0\xDE\xB8\xC4\xD3\xDA' for colum
n 'author' at row 1
mysql> insert into content(title,author,content) values('插入成','修改于','文字
符');
ERROR 1366 (HY000): Incorrect string value: '\xD0\xDE\xB8\xC4\xD3\xDA' for colum
n 'author' at row 1

想招吧,哎:以下是解决方案:

mysql> alter table content modify author varchar(30) character set gbk;

对,就是这一句代码。很实用的,将表里面的所有列都进行一次这样的“洗礼”,大功告成!

 

----

不,还没完,页面需要声明用GBK或者GB2312编码,而且在页面需要进行转码:

String content1 = new String(request.getParameter("content1").getBytes("ISO-8859-1"));

页面读取不需要转码,写入需要转码

 

 

 

*******这个就是编码的问题,可能在装MySql 的时候选择的是默认的编码,或者你选择的UTF8,所以在插入数据的时候出现编码的错误,解决方法是找到Mysql的安装目录下的my.ini文件,把里面的default-character-set=GBK 但是需要注意,这里设成GBK之后在页面里面也需要设成GBK,否则会出现编码不一致,会出现乱码。*******

分享到:
评论

相关推荐

    精通MySQL字符集与校对集

    可以使用`SET NAMES`命令来设置客户端连接的字符集: ```sql SET NAMES utf8; ``` 2. **数据丢失问题**:当数据从一个字符集转换到另一个字符集时,如果后者的编码范围小于前者,则可能会导致某些字符无法正确...

    mysql 字符集 乱码问题

    如果字符集配置不当,很容易导致数据插入、查询过程中出现乱码问题。本文将根据提供的文件信息,详细解释如何解决MySQL中的字符集通讯设置不匹配导致的乱码问题。 #### 一、理解MySQL中的字符集配置 首先,我们...

    设定mysql字符集解决终端乱码

    ### 设定 MySQL 字符集解决终端...具体而言,需要注意客户端和服务端之间的字符集设置、创建表时的字符集选择以及数据插入和查询时的字符集处理等几个方面。希望本文能帮助大家更好地理解和处理 MySQL 中的字符集问题。

    SSH+mysql开发字符集问题

    ### SSH+MySQL开发中的字符集问题详解 #### 一、问题背景 在使用MySQL与SSH框架进行开发过程中,中文字符的乱码问题是非常常见的。尤其是对于新手开发者来说,这一问题可能会耗费大量的时间与精力去解决。本文将...

    Mysql字符集

    为了保证数据的一致性和避免乱码问题,必须保持客户端和服务器端字符集的一致。这可以通过在会话开始时使用`SET NAMES ***`命令来实现,例如`SET NAMES utf8`。 #### 四、字符集的修改 如果在运行一段时间后需要...

    MYSQL字符集与乱码问题分析

    针对“mysql客户端插入中文内容后再查询却返回乱码”等问题,解决策略通常包括: - 确保客户端和服务器端的字符集一致; - 使用正确的字符集进行数据导入和导出; - 在连接数据库时明确指定字符集; - 更新数据库表...

    Mysql插入中文乱码问题解决

    - 对于已经存在的数据表和字段,如果之前使用了不同的字符集,需要将其转换为统一的 UTF-8 字符集: ```sql ALTER DATABASE db_name CHARACTER SET = utf8 COLLATE = utf8_general_ci; ALTER TABLE table_name ...

    mysql乱码问题解决

    MySQL作为广泛使用的开源关系型数据库管理系统之一,在实际应用中也难免会遇到字符集不匹配导致的数据乱码问题。本文将详细探讨如何识别与解决MySQL中的乱码问题,并提供具体的操作步骤及注意事项。 #### 一、理解...

    java插入mysql中文乱码解决

    例如,在使用C3P0时,可以通过 `defaultConnectionProperties` 属性来指定字符集: ```java ComboPooledDataSource ds = new ComboPooledDataSource(); ds.setDriverClass("com.mysql.jdbc.Driver"); ds....

    mysql插入记录防止乱码

    对于通过Java等编程语言访问MySQL的应用程序,需要在连接字符串中明确指定字符集: ```java String url = "jdbc:mysql://yourIP/college?user=root&password=yourPassword&useUnicode=true&characterEncoding=gbk";...

    mysql-不能插入中文的解决办法.docx

    如果只有特定列需要支持中文,可以单独修改该列的字符集: ``` ALTER TABLE table_name MODIFY column_name column_type CHARACTER SET utf8; ``` 4. **设置会话字符集**: 在连接MySQL时,设置客户端的字符集...

    mysql乱码问题

    解决 MySQL 乱码问题需要从多方面入手,包括设置 MySQL 的字符集、客户端的字符集、数据库的字符集、表的字符集和字段的字符集等。 首先,我们需要了解 MySQL 的字符集。MySQL 的字符集可以通过 `show variables ...

    mysql中文乱码

    5. **客户端配置**:除了服务器端的设置,也要检查并确保你的 MySQL 客户端工具(如 MySQL Workbench、phpMyAdmin 等)的字符集设置正确。 6. **编码与解码**:在插入和查询数据时,确保应用程序正确地处理了数据的...

    mysql 插入中文读取中文无乱码 2

    - **配置MySQL**:确保MySQL服务器、客户端工具以及应用程序都使用统一的字符集,通常推荐使用UTF-8,因为它支持多种语言且兼容性好。 - **修改配置文件**:在`my.cnf`中设置全局字符集,如`character-set-server=...

    MYSQL insert 中文报错 .pdf

    根据命令结果,可以看出MySQL中有六个地方使用了字符集:client、connection、database、results、server和system。这些字符集的具体含义如下: - **client**:客户端使用的字符集。 - **connection**:连接数据库...

    JSP MySQL插入数据时出现中文乱码问题的解决方法.docx

    解决 JSP MySQL 插入数据时出现中文乱码问题的关键是了解 MySQL 的字符集编码机制,正确地设置客户端和服务器端的字符集编码。通过 set names gbk; 语句或修改 my.ini 配置文件可以解决乱码问题,并确保数据的正确...

    深入Mysql charset+解决方法

    - **问题**:向默认字符集为UTF-8的数据表中插入数据时未设置连接字符集,之后查询时设置了连接字符集为UTF-8。 - **解决方案**:确保在插入数据之前,先设置正确的连接字符集。例如,可以通过以下命令设置: ```...

    Mysql中解决中文无法插入的解决方案

    在MySQL数据库中,遇到中文无法插入的问题通常是由于字符集设置不正确导致的。这涉及到数据库、表以及字段的字符集配置。以下是一些详细的解决步骤和相关知识点: 1. **字符集基础**: - 字符集(Character Set)...

    Java连接过程中的MySQL中文乱码问题[整理].pdf

    在Java编程中,连接MySQL数据库时可能会遇到中文乱码的问题,这主要涉及到字符集的配置。MySQL数据库默认的字符集是latin1,不支持中文字符,因此需要进行相应的设置以确保中文能正确显示和存储。以下是一些关键知识...

    mysql 常用设置 字符集编码、自动完成(自动提示)、监听外网ip

    下面介绍如何设置MySQL服务器的字符集: 1. **编辑配置文件**: - 使用文本编辑器打开MySQL的配置文件`my.cnf`。该文件通常位于`/etc/`目录下,可以通过命令`sudo vi /etc/my.cnf`进行编辑。 2. **设置服务器...

Global site tag (gtag.js) - Google Analytics