當前位置:首頁 » 編程語言 » sql引用中文
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql引用中文

發布時間: 2022-10-20 07:26:14

A. 如何解決sql語句中含有中文字元無法查詢

package oop.hu.ytu.;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import oop.hg.ytu.beans.LoginBean;
import oop.hg.ytu.utils.JdbcUtils;
/**
* 處理用戶登錄請求
* @author Administrator
*
*/
public class LoginDomain {
public LoginBean select(String tableName,String username){
Connection con = null;
PreparedStatement pt = null;
ResultSet rs = null;
LoginBean bean = new LoginBean();
try {
username = "\""+username+"\"";
con = JdbcUtils.getConnection();
String sql = "select name,password from "+tableName+" where name="+username+"";
pt = con.prepareStatement(sql);
// pt.setString(1, tableName);
// pt.setString(2, u);
rs = pt.executeQuery();
while(rs.next()){
bean.setUsername(rs.getString("name"));
bean.setPassword(rs.getString("password"));
}
} catch (Exception e) {
throw new RuntimeException(e);
}finally{
JdbcUtils.free(rs, pt, con);
}
return bean;
}
}
username = "\""+username+"\"";這句話是進行字元串處理,加上雙引號。
<pre name="code" class="java" style="background-color: rgb(255, 255, 255); ">String sql = "select name,password from "+tableName+" where name="+username+"";
這句話是重點,一定不能使用PreparedStatement提供的字元串處理方法,一定要直接自己拼接出字元串來運行,這樣對於中文的處

B. sql文件導入(帶有中文數據的)

你在執行這個SQL語句之前,先執行下面的語句就可以解決了:

set names 'utf8'

C. SQL語句中文插入不成功

A. 字元編碼:

「使用命令行方式登陸到MySQL伺服器, 建立一個資料庫,資料庫編碼設為UTF-8。此時,如果直接在命令行窗口使用insert語句插入中文,就遇到類似 ERROR 1406 (22001): Data too long for column 'name' at row 1 錯誤。乍一看,是欄位長度引起的問題,但是實際是字元編碼的問題。可是嘗試以下解決方法:
1、在Linux中,使用終端方式登陸MySQL伺服器,運行以下命令:
set names utf8;
該命令將終端的字元編碼設為了UTF-8。此後再插入資料庫中的內容都會按照UTF-8的編碼來處理。
注意:在Linux中,終端方式中直接插入中文內容,可能並不會出現1406錯誤,但是這時插入的數據
是按照系統的默認編碼進行處理。因此對編碼為UTF-8的資料庫,在顯示數據的地方可能會出現亂碼。

2、在Windows下,命令行窗口不支持UTF-8編碼,所以使用「set names utf8;」不會達到轉化中文的
效果。但是這個問題還是可以解決的:
(1)使用默認編碼建立資料庫。這種情況下就可以直接輸入中文了,但是相應的問題,就是會
失去UTF-8編碼的靈活性。特別是不利於軟體的國際化。
(2)放棄命令行窗口登錄MySQL,使用圖形化客戶端。客戶端工具可以MySQL的官方網站上找到。」

B. Mysql配置文件:
「在my.ini里找到sql- mode='STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'把其中 的STRICT_TRANS_TABLES,去掉,或者把sql- mode=STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION注釋掉,然 後重啟mysql就ok了」

D. SQL語句中文顯示

在語句中,一般是用引號把中文字元區別開來的,表示一個字元串。
例如:
strSql="Insert Into users(username) values('小林')"

E. 請教用SQL怎樣引用資料庫的數據

使用MySQL開發包,在MySQL安裝目錄裡面有一個include目錄。裡麵包含了需要的C++頭文件
主要包含
#include <iostream>
#include <mysql/mysql.h>//根據自己目錄設定mysql頭文件
MYSQL mysql;
std::string db_host = "127.0.0.1";//MySQL伺服器地址
std::string db_user = "root";//用戶名
std::string db_pwd = "rootpwd";//密碼
std::string db_name = "test_db";//訪問資料庫名

mysql_init(&mysql);//初始化MySQL對象
if(!mysql_real_connect(&mysql, db_host.c_str(), db_user.c_str(), db_pwd.c_str(), db_name.c_str(), 3306, NULL, 0))//連接MySQL伺服器
{
mysql_close(&mysql);
return 0;
}
mysql_query(&mysql, "SET NAMES 'gbk'");//設置中文字元集

db_host就是MySQL伺服器IP地址,字元串,C++連接MySQL伺服器其實不分本地或者遠程的,的都是按照連接伺服器來的,本地伺服器的就是127.0.0.1

F. 如何插入中文到sql資料庫里

你的欄位要用nvarchar()
插入數據的時候要用這樣的形式插入

N'我的中文內容'

G. sql中如何使用中文列名

select sno 學號,sname 姓名 from student
直接在列名後寫中文就可以了。

H. SQL語句查詢欄位值可不可以用中文的,例如像這樣的。

可以,如果你欄位類型用varchar它會把空格也當成一個字元,所以如果你不小心存儲的時候存的是『張三(空格)』,那你查詢的時候就要用where trim(name) = '張三'

I. 調用SQL 中文顯示

必須改成與資料庫的一樣,除非不用中文。

所有,你的PHP頁面也要用utf8,

J. sql語句中帶有中文怎麼辦

這個中文如果在字元串內,只要被單引號引著就沒問題
如果在單引號外面,程序就出錯了