當前位置:首頁 » 編程語言 » sql語句中文

sql語句中文

發布時間: 2022-03-13 03:20:14

㈠ 如何解決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提供的字元串處理方法,一定要直接自己拼接出字元串來運行,這樣對於中文的處

㈡ sql語句中為什麼不能出現中文

那你搜索一下你的版本是否支持。
如果不行,我也米辦法
-----------------------
一般是不支持使用中文表名列名的,

如果你一定要使用,

你應該在你的配置文件中加入下面的一行

default-character-set = gb2312

㈢ sql語句中帶有中文怎麼辦

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

㈣ 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了」

㈤ sql 查詢語句查詢中文名稱

select * from table where [企業名稱]='浙江'

㈥ sql表為中文的查詢語句

和英文的基本一樣.
除非你中文裡麵包含空格什麼的, 就要額外處理了.

比如 Oracle 用雙引號
SELECT * FROM "中文 表名"

SQL Server 用 []
SELECT * FROM [中文 表名]

MySQL用 ` ( 標准鍵盤 數字1 左邊的那個符號)
SELECT * FROM `中文 表名`

㈦ SQL語句中文顯示

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

㈧ sql語句中有中文,符號等怎麼處理

對於特殊字元
要用到轉義符
name like '%\%%' escape '\'意思就是保留\後面的一個字元,無視\
就是name中包含%的記錄

你給幾個改完的欄位的例子阿
比如說'你好(%><;'i9hh %()'你要改成怎樣
『你不好%*#@)%』這個又要改成怎麼

㈨ sql 中文命名

可以用中文,但是最好還是用英文,因為中文的一些編碼可能會導致異常。中文的半形全形這些對於最終的寫查詢可能會有所影響的。
如果你資料庫定義的時候用的半形的中文,而你的查詢語句用的是全形的中文,比如欄位「姓名」,你如果用半形定義的欄位名稱,而用全形寫的查詢條件,就會告訴你找不到列;有時候出現這種情況你可能還莫名其妙,明明是一樣的啊,怎麼就說沒有列呢,可能就出在這些地方的了。

㈩ sql語句有中文,亂碼怎麼解決

如果SQL Server 系統排序規則為"SQL_Latin1_General_CP1_CI_AS",那麼資料庫及資料庫欄位排序規則都默認為"SQL_Latin1_General_CP1_CI_AS",如果欄位為varchar,插入中文,資料庫顯示為"?",且數據無法修復。解決辦法如下:
1。 修改欄位排序規則為"Chinese_PRC_CI_AS",varchar改nvarchar,SQL插入語句中,中文字元前加"N",可以插入中文字元。
2。 修改資料庫排序規則為"Chinese_PRC_CI_AS",欄位保持varchar,SQL語句不變,插入中文失敗,查看欄位屬性後發現,欄位排序規則實際上沒有變化,還是默認為"SQL_Latin1_General_CP1_CI_AS",再修改欄位排序規則,varchar不變,SQL不變,可以插入中文字元。
總結:
1。 修改系統排序規則沒有試過。
2。 修改資料庫排序規則不會把資料庫中欄位的排序規則改掉,但是為了顯示中文,資料庫排序規則必須改。
3。 僅僅修改欄位排序規則,還不能完全解決問題。

熱點內容
linux的路徑怎麼寫 發布:2025-01-15 17:18:49 瀏覽:185
php解壓程序 發布:2025-01-15 17:06:22 瀏覽:142
刷助力腳本 發布:2025-01-15 17:02:31 瀏覽:520
c盤里的用戶文件夾可以刪除 發布:2025-01-15 16:56:45 瀏覽:951
虛幻4編譯到哪裡 發布:2025-01-15 16:50:19 瀏覽:756
透明度漸變android 發布:2025-01-15 16:45:08 瀏覽:835
dos連接oracle資料庫 發布:2025-01-15 16:41:39 瀏覽:906
網路配置比較低怎麼做 發布:2025-01-15 16:35:38 瀏覽:362
android彈出鍵盤監聽 發布:2025-01-15 16:35:11 瀏覽:208
uz畫圖編程 發布:2025-01-15 16:32:44 瀏覽:884