sql数据库编码规则(sqlserver数据库编码)

软件开发 12
本篇文章给大家谈谈sql数据库编码规则,以及sqlserver数据库编码对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 应遵循的PL/SQL编码规则有哪些 一、pl/sql developer 中文字段显示乱码原因:因为数据库的编号格式和pl /sql developer的编码格式不统一造成的。二、查看和修改oracle数据库字符集:select userenv('language') from dual;

本篇文章给大家谈谈sql数据库编码规则,以及sqlserver数据库编码对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

应遵循的PL/SQL编码规则有哪些

一、pl/sql developer 中文字段显示乱码

原因:因为数据库的编号格式和pl /sql developer的编码格式不统一造成的。

二、查看和修改oracle数据库字符集:

select userenv('language') from dual;

查询结果:

SIMPLIFIED CHINESE_CHINA.AL32UTF8

--修改oracle数据库字符集:(在SQL Plus中)

sql conn / as sysdba;

sql shutdown immediate;

database closed.

database dismounted.

oracle instance shut down.

sql startup mount;

oracle instance started.

total system global area 135337420 bytes ...展开一、pl/sql developer 中文字段显示乱码

原因:因为数据库的编号格式和pl /sql developer的编码格式不统一造成的。

二、查看和修改oracle数据库字符集:

select userenv('language') from dual;

查询结果:

SIMPLIFIED CHINESE_CHINA.AL32UTF8

--修改oracle数据库字符集:(在SQL Plus中)

sql conn / as sysdba;

sql shutdown immediate;

database closed.

database dismounted.

oracle instance shut down.

sql startup mount;

oracle instance started.

total system global area 135337420 bytes

fixed size 452044 bytes

variable size 109051904 bytes

database buffers 25165824 bytes

redo buffers 667648 bytes

database mounted.

sql alter system enable restricted session;

system altered.

sql alter system set job_queue_processes=0;

system altered.

sql alter system set aq_tm_processes=0;

system altered.

sql alter database open;

database altered.

sql alter database character set internal_use JA16SJIS;

sql shutdown immediate;

sql startup;

三、修改pl/sql developer 的编码格式:

在windows中创 建一个名为“NLS_LANG”的系统环境变量,设置其值为“SIMPLIFIED CHINESE_CHINA.ZHS16GBK”,

然后重新启动 pl/sql developer,这样检索出来的中文内容就不会是乱码了。如果想转换为UTF8字符集,可以赋予“NLS_LANG”为 “AMERICAN_AMERICA.UTF8”,然后重新启动 pl/sql developer。其它字符集设置同上收起

请问怎么修改MS SQL数据库的编码方式啊?

sql server 2000的unicode编码有特殊性,仅仅在rails中使用utf8编码,和把全部rails项目文件格式改成utf8之外,还是不够的。仅仅这样做,只是部分中文字符能够正确处理,而且存入sql server2000中的中文数据,也完全是乱码。正确的配置方法应该如下。

1. ms sql server2000中数据字段全部要选择成n打头的类型,比如ntext,nvarchar等。

2.安装ADO Driver

安装one -click installer 来安装ruby 的话就已经安装了所有连接SQL Server使用的需求包.但是,并没有安装ADO Driver.

这样来安装它:

在Ruby目录下找到这个目录: rubylibrubysite_ruby1.8DBD .例如:我的Ruby安装在D:ruby中,所以是这个目录D:rubylibrubysite_ruby1.8DBD 在该目录中创建一个ADO文件夹. 下载Ruby-DBI,将lib/dbd_ado/ADO.rb文件拷贝到X:/ruby/lib/ruby/site_ruby/1.8/DBD/ADO/ADO.rb

3. 配置database.yml:Java代码

development:

adapter: sqlserver

database: database_name

host: server_name

username: user_name

password: your_pw_here

development:

adapter: sqlserver

database: database_name

host: server_name

username: user_name

password: your_pw_here

4.在environment.rb添加下面代码

require 'win32ole'

WIN32OLE.codepage = WIN32OLE::CP_UTF8

在这里稍微解释下第四部分的设置。sql server 2000中使用的unicode 并非是utf8,ado的默认链接编码都是当前系统设置的code pages相关的。

一般的windows设置都是非unicode的,比如简体中文windows系统下一般都是gb2312, 在rails中database.yml设置encoding: utf8,对于sql server没有任何用处。

为了迫使sql server接受utf8数据,必须修改ado链接的code pages值为utf8,才能让ado部分代码在接受rails传入的utf8数据之后,不做任何额外的处理. 否则的话,ado部分代码会根据当前系统的默认code pages值来处理这里字符数据。

于是在中文windows系统上,从utf8的rails项目中传入的数据,会被当作gb2312编码的数据来传递到sql server2000中,于是sql server2000中存入的数据会成为乱码,也有部分数据在处理过程中出错,导致sql 语句执行出错。比如常见的中文字符右边的单引号会不见的情况。

不设置 WIN32OLE.codepage = WIN32OLE::CP_UTF8,你的整个系统编码配置是这样的

rails(utf8)--ado(根据当前系统cp来取得编码,或是gb2312或是其他)--sql server 2000 (unicode)

整个系统编码不一至

WIN32OLE.codepage = WIN32OLE::CP_UTF8 这句代码就是为了更改cp值.整个系统编码配置是这样的

rails(utf8)--ado(utf8)--sql server 2000 (unicode)

整个系统编码一至,整个系统中不会再出现任何乱码.

注:以上转自:jack发表在javaeye网站上的文章,地址:

database.yml也可以用以下的配置试试(用下面这种的话第1条或许不用,没试过)

mysql用sql语句创建表和数据库怎么设置字符编码'

-- 创建数据库时,设置数据库的编码方式 

-- CHARACTER SET:指定数据库采用的字符集,utf8不能写成utf-8

-- COLLATE:指定数据库字符集的排序规则,utf8的默认排序规则为utf8_general_ci(通过show character set查看)

drop database if EXISTS dbtest;

create database dbtest CHARACTER SET utf8 COLLATE utf8_general_ci;

-- 修改数据库编码

alter database dbtest CHARACTER SET GBK COLLATE gbk_chinese_ci;

alter database dbtest CHARACTER SET utf8 COLLATE utf8_general_ci;

-- 创建表时,设置表、字段编码

use dbtest;

drop table if exists tbtest;

create table tbtest(

id int(10) auto_increment,

user_name varchar(60) CHARACTER SET GBK COLLATE gbk_chinese_ci,

email varchar(60),

PRIMARY key(id)

)CHARACTER SET utf8 COLLATE utf8_general_ci;

-- 修改表编码

alter table tbtest character set utf8 COLLATE utf8_general_ci;

-- 修改字段编码

ALTER TABLE tbtest MODIFY email VARCHAR(60) CHARACTER SET utf8 COLLATE utf8_general_ci;

-- 查看所有的字符编码

  SHOW CHARACTER SET;

-- 查看创建数据库的指令并查看数据库使用的编码

    show create database dbtest;

-- 查看数据库编码:

   show variables like '%char%';

-- 设置character_set_server、set character_set_client和set character_set_resultsset character_set_server = utf8; -- 服务器的默认字符集。使用这个语句可以修改成功,但重启服务后会失效。根本的办法是修改配置MYSQL文件MY.INI,

sql数据库中常用的数据类型有什么

一、 整数数据类型:整数数据类型是最常用的数据类型之一。

1、INT (INTEGER)

INT (或INTEGER)数据类型存储从-2的31次方 (-2 ,147 ,483 ,648) 到2的31次方-1 (2 ,147 ,483,647) 之间的所有正负整数。每个INT 类型的数据按4 个字节存储,其中1 位表示整数值的正负号,其它31 位表示整数值的长度和大小。

2、SMALLINT

SMALLINT 数据类型存储从-2的15次方( -32, 768) 到2的15次方-1( 32 ,767 )之间的所有正负整数。每个SMALLINT 类型的数据占用2 个字节的存储空间,其中1 位表示整数值的正负号,其它15 位表示整数值的长度和大小。

二、 浮点数据类型:浮点数据类型用于存储十进制小数。浮点数值的数据在SQL Server 中采用上舍入(Round up 或称为只入不舍)方式进行存储。

1、REAL 数据类型

REAL数据类型可精确到第7 位小数,其范围为从-3.40E -38 到3.40E +38。 每个REAL类型的数据占用4 个字节的存储空间。

2、FLOAT

FLOAT数据类型可精确到第15 位小数,其范围为从-1.79E -308 到1.79E +308。 每个FLOAT 类型的数据占用8 个字节的存储空间。 FLOAT数据类型可写为FLOAT[ n ]的形式。n 指定FLOAT 数据的精度。n 为1到15 之间的整数值。

当n 取1 到7 时,实际上是定义了一个REAL 类型的数据,系统用4 个字节存储它;当n 取8 到15 时,系统认为其是FLOAT 类型,用8 个字节存储它。

三、 二进制数据类型

1、BINARY

BINARY 数据类型用于存储二进制数据。其定义形式为BINARY( n), n 表示数据的长度,取值为1 到8000 。在使用时必须指定BINARY 类型数据的大小,至少应为1 个字节。BINARY 类型数据占用n+4 个字节的存储空间。

在输入数据时必须在数据前加上字符“0X” 作为二进制标识,如:要输入“abc ”则应输入“0xabc ”。若输入的数据过长将会截掉其超出部分。若输入的数据位数为奇数,则会在起始符号“0X ”后添加一个0,如上述的“0xabc ”会被系统自动变为“0x0abc”。

2、VARBINARY

VARBINARY数据类型的定义形式为VARBINARY(n)。 它与BINARY 类型相似,n 的取值也为1 到8000, 若输入的数据过长,将会截掉其超出部分。

不同的是VARBINARY数据类型具有变动长度的特性,因为VARBINARY数据类型的存储长度为实际数值长度+4个字节。当BINARY数据类型允许NULL 值时,将被视为VARBINARY数据类型。  

四、 逻辑数据类型

1、BIT: BIT数据类型占用1 个字节的存储空间,其值为0 或1 。如果输入0 或1 以外的值,将被视为1。 BIT 类型不能定义为NULL 值(所谓NULL 值是指空值或无意义的值)。

五、 字符数据类型:字符数据类型是使用最多的数据类型。它可以用来存储各种字母、数字符号、特殊符号。一般情况下,使用字符类型数据时须在其前后加上单引号’或双引号” 。

1、CHAR

CHAR 数据类型的定义形式为CHAR[ (n) ]。 以CHAR 类型存储的每个字符和符号占一个字节的存储空间。n 表示所有字符所占的存储空间,n 的取值为1 到8000, 即可容纳8000 个ANSI 字符。

若不指定n 值,则系统默认值为1。 若输入数据的字符数小于n,则系统自动在其后添加空格来填满设定好的空间。若输入的数据过长,将会截掉其超出部分。

扩展资料:

SQL包括了所有对数据库的操作,主要是由4个部分组成:

1、数据定义:这一部分又称为“SQL DDL”,定义数据库的逻辑结构,包括定义数据库、基本表、视图和索引4部分。

2、数据操纵:这一部分又称为“SQL DML”,其中包括数据查询和数据更新两大类操作,其中数据更新又包括插入、删除和更新三种操作。

3、数据控制:对用户访问数据的控制有基本表和视图的授权、完整性规则的描述,事务控制语句等。

4、嵌入式SQL语言的使用规定:规定SQL语句在宿主语言的程序中使用的规则。

参考资料来源:百度百科--SQL数据库

关于sql数据库编码规则和sqlserver数据库编码的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

sql数据库编码规则
扫码二维码