当前位置:首页 » 编程语言 » 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语句中带有中文怎么办

这个中文如果在字符串内,只要被单引号引着就没问题
如果在单引号外面,程序就出错了