jdbc mysql 中文乱码的解决方法
通过jdbc 连接mysql 数据库的实例,以及中文乱码的解决方法: import java.sql.*;/** * 使用JDBC连接数据库MySQL的过程: * DataBase: db_test * tables: tab_test; * username: user_test; * passwd: passwd_test; * * @author zhongbo.wzb@alibaba-inc.com
通过jdbc 连接mysql 数据库的实例,以及中文乱码的解决方法:
import java.sql.*; /** * 使用JDBC连接数据库MySQL的过程: * DataBase: db_test * tables: tab_test; * username: user_test; * passwd: passwd_test; * * @author zhongbo.wzb@alibaba-inc.com */ public class DBTest { public static Connection getConnection() throws SQLException, ClassNotFoundException { // 第一步:加载MySQL的JDBC的驱动 Class.forName("com.mysql.jdbc.Driver"); //取得连接的url,能访问MySQL数据库的用户名:user_test;密码:passwd_test, 数据库名: db_test String url = "jdbc:mysql://localhost:3306/db_test?useUnicode=true&characterEncoding=utf-8"; String username = "user_test"; String password = "passwd_test"; // 第二步:创建与MySQL数据库的连接类的实例 Connection conn = DriverManager.getConnection(url, username, password); return conn; } public static void main(String args[]) { System.out.println("args num: " + args.length); for (int i = 0; i <p><span>不</span><span><span>过,官方文档还说,"要想覆盖客户端上的自动检测编码功能,可在用于连接到服务器的URL中使用“characterEncoding”属性。" </span></span><br> </p> <p><span><span><br> </span></span></p> <p><span><span><span>解决方法二: </span><br> <br> <span>连接mysql时(无论在从mysql读还是取数据的情况),指定使用的编码方式为utf-8,具体代码如下 </span><br> <br> <span>//装载mysql-jdbc驱动 </span><br> <br> <span>Class.forName("com.mysql.jdbc.Driver").newInstance(); </span><br> <br> <span>//连接数据库 </span><br> <br> <span>Connection sqlCon = DriverManager.getConnection( "jdbc:mysql://localhost:3306/test? user=root&password=1&useUnicode=true&characterEncoding=utf-8" ); </span><br> </span></span></p> <br> <p><br> </p> <p><br> </p> <p><br> </p> <p><br> </p> <p><br> </p> <p><span>charset 和 collation 有多个级别的设置:服务器级、数据库级、表级、列级和连接级</span><br> <br> <span>1.服务器级 </span><br> <span> 查看设置:show global variables like 'character_set_server'; 和 show global variables like 'collation_server';</span><br> <span> 修改设置:在OPTION FILE (/etc/mysql/my.cnf)里设置: </span><br> <span> [mysqld] </span><br> <span> character_set_server=utf8 </span><br> <span> collation_server=utf8_general_ci </span><br> <br> <span>2. 数据库级 </span><br> <span> 查看设置:select * from information_schema.schemata where schema_name = 'cookbook';</span><br> <span> 设置: </span><br> <span> 1.若没有显式设置,则自动使用服务器级的配置 </span><br> <span> 2.显式设置:在创建库时指定 </span><br> <span> create database playUtf8 DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci;</span><br> <br> <span>3.表级 </span><br> <span> 查看设置:show create table course; </span><br> <span> 设置: </span><br> <span> 1.若没有显式设置,则自动使用数据库级的配置 </span><br> <span> 2.显式设置:在创建表时指定 </span><br> <span> create table utf ( id int ) default charset=utf8 default collate=utf8_bin;</span><br> <br> <span>4.列级 </span><br> <span> 查看设置:show create table course; </span><br> <span> 设置: </span><br> <span> 1.若没有显式设置,则自动使用表级的配置 </span><br> <span> 2.显式设置: </span><br> <br> <span> CREATE TABLE Table1(column1 VARCHAR(5) CHARACTER SET latin1 COLLATE latin1_german1_ci);</span><br> <br> <span>5.连接级别 </span><br> <span> 查看设置: </span><br> <span> show variables like 'character_set_client'; # 服务端使用这个编码来理解客户端发来的statements </span><br> <span> show variables like 'character_set_connection' ; # 我还不知道什么意思,等看了mysql源码再说 </span><br> <span> show variables like 'character_set_results'; # 服务端使用这个编码回送结果集和错误信息 </span><br> <span> 设置: </span><br> <span> 客户端在连接时可以指定这些参数;同时,服务端也提供了一个Global范围的值,客户端未指定这些参数时,服务端就使用这个Global值。这个global值怎么设置的? 我查遍了很多文档,似乎还没看到设置的办法 (有人说通过my.cnf,或者在启动mysqld时指定命令行参数,其实都是错的)</span><br> <br> <span> </span><br> <br> <span>附:connector/j传输SQL时用什么编码? </span><br> <span> 答案: "The character encoding between client and server is automatically detected upon connection. The encoding used by the driver is specified on the server using the character_set_server system variable for server versions 4.1.0 and newer."</span><br> <span> 也就是说,是在连接时查询服务器端的character_set_server值,再确定连接将使用的编码。 </span><br> <span> 不</span><span><span>过,官方文档还说,"要想覆盖客户端上的自动检测编码功能,可在用于连接到服务器的URL中使用“characterEncoding”属性。" </span></span><br> </p> <p><span><span><br> </span></span></p> <p><span><span><span>解决方法二: </span><br> <br> <span>连接mysql时(无论在从mysql读还是取数据的情况),指定使用的编码方式为utf-8,具体代码如下 </span><br> <br> <span>//装载mysql-jdbc驱动 </span><br> <br> <span>Class.forName("com.mysql.jdbc.Driver").newInstance(); </span><br> <br> <span>//连接数据库 </span><br> <br> <span>Connection sqlCon = DriverManager.getConnection( "jdbc:mysql://localhost:3306/test? user=root&password=1&useUnicode=true&characterEncoding=utf-8" ); </span><br> <br> <br> </span></span></p>

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

MySQL在Web應用中的主要作用是存儲和管理數據。 1.MySQL高效處理用戶信息、產品目錄和交易記錄等數據。 2.通過SQL查詢,開發者能從數據庫提取信息生成動態內容。 3.MySQL基於客戶端-服務器模型工作,確保查詢速度可接受。

在 Docker 中啟動 MySQL 的過程包含以下步驟:拉取 MySQL 鏡像創建並啟動容器,設置根用戶密碼並映射端口驗證連接創建數據庫和用戶授予對數據庫的所有權限

Laravel 是一款 PHP 框架,用於輕鬆構建 Web 應用程序。它提供一系列強大的功能,包括:安裝: 使用 Composer 全局安裝 Laravel CLI,並在項目目錄中創建應用程序。路由: 在 routes/web.php 中定義 URL 和處理函數之間的關係。視圖: 在 resources/views 中創建視圖以呈現應用程序的界面。數據庫集成: 提供與 MySQL 等數據庫的開箱即用集成,並使用遷移來創建和修改表。模型和控制器: 模型表示數據庫實體,控制器處理 HTTP 請求。

在開發一個小型應用時,我遇到了一個棘手的問題:需要快速集成一個輕量級的數據庫操作庫。嘗試了多個庫後,我發現它們要么功能過多,要么兼容性不佳。最終,我找到了minii/db,這是一個基於Yii2的簡化版本,完美地解決了我的問題。

優雅安裝 MySQL 的關鍵在於添加 MySQL 官方倉庫。具體步驟如下:下載 MySQL 官方 GPG 密鑰,防止釣魚攻擊。添加 MySQL 倉庫文件:rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm更新 yum 倉庫緩存:yum update安裝 MySQL:yum install mysql-server啟動 MySQL 服務:systemctl start mysqld設置開機自啟動

在 CentOS 上安裝 MySQL 涉及以下步驟:添加合適的 MySQL yum 源。執行 yum install mysql-server 命令以安裝 MySQL 服務器。使用 mysql_secure_installation 命令進行安全設置,例如設置 root 用戶密碼。根據需要自定義 MySQL 配置文件。調整 MySQL 參數和優化數據庫以提升性能。

文章摘要:本文提供了詳細分步說明,指導讀者如何輕鬆安裝 Laravel 框架。 Laravel 是一個功能強大的 PHP 框架,它 упростил 和加快了 web 應用程序的開發過程。本教程涵蓋了從系統要求到配置數據庫和設置路由等各個方面的安裝過程。通過遵循這些步驟,讀者可以快速高效地為他們的 Laravel 項目打下堅實的基礎。

MySQL与其他编程语言相比,主要用于存储和管理数据,而其他语言如Python、Java、C 则用于逻辑处理和应用开发。MySQL以其高性能、可扩展性和跨平台支持著称,适合数据管理需求,而其他语言在各自领域如数据分析、企业应用和系统编程中各有优势。
