SQL Server 2005 中文乱码解决

中文存到数据库中总是显示乱码。DEBUG发现页面中文到Service都是正确的中文。

解决办法:

1.关闭所有与此数据库的相关连接或者会话或者相关程序

2.然后将  SQL_Latin1_General_CP1_CI_AS 修改为 Chinese_PRC_CI_AS ( alter database db_namecollate Chinese_PRC_CI_AS ) 属性-》选项

3.将varchar类型修改为nvarchar 就没问题了。或者。如果表里面没有数据的话,把表结构重新建立,建表的时候需要注意不要带“SQL_Latin1_General_CP1_CI_AS  ”排序规则。

 

后来检查数据库连接字段,发现一个参数

sendStringParametersAsUnicode=false

将其改为 sendStringParametersAsUnicode=true 问题解决。

查MSDN资料

如果 sendStringParametersAsUnicode 属性设置为“true”,则字符串参数将以 Unicode 格式发送给服务器。

如果 sendStringParametersAsUnicode 属性设置为“false”,则字符串参数将以非 Unicode 格式(例如 ASCII/MBCS 而不是 Unicode)发送给服务器。

sendStringParametersAsUnicode 属性的默认值为“true”。

 

本人有个项目使用php+mssql,而mssql只支持gb2312和utf-16编码,而php又要求使用utf-8编码,想到了freetds.而freetds是个在unix下开发的工具,我下载php_dblib.dll

在freetds进行设置,即可让FreeTDS生效。This is only used when compiled with FreeTDS。mssql默认是不支持设置字符集的,只有安装freetds的时候才能生效。http://hudeyong926.iteye.com/blog/1286307

时间: 2024-08-04 11:04:04

SQL Server 2005 中文乱码解决的相关文章

安装sql server 2008 management提示已安装 SQL Server 2005 Express的解决方法_MsSql

安装sql server 2008 management,提示错误:Sql2005SsmsExpressFacet 检查是否安装了 SQL Server 2005 Express 工具. 失败,已安装 SQL Server 2005 Express 工具.若要继续,请删除 SQL Server 2005 Express 工具.sql server 2005 management和sql server 2008 management不是兼容吗?为什么会有这样的提示? 答案是SQL Server 2

安装sql server 2008 management提示已安装 SQL Server 2005 Express的解决方法

安装sql server 2008 management,提示错误:Sql2005SsmsExpressFacet 检查是否安装了 SQL Server 2005 Express 工具. 失败,已安装 SQL Server 2005 Express 工具.若要继续,请删除 SQL Server 2005 Express 工具.sql server 2005 management和sql server 2008 management不是兼容吗?为什么会有这样的提示? 答案是SQL Server 2

SQL Server插入中文数据后出现乱码

原文:SQL Server插入中文数据后出现乱码 今天在做项目的过程中遇到如标题的问题,情况如下图: 数据库使用的是SQL Server2012版本,创建表的脚本如下: CREATE TABLE [dbo].[Type](  [TypeId] INT NOT NULL PRIMARY KEY,     [TypeName] NVARCHAR(50)NOT NULL,     [Description] NVARCHAR(255) NULL,     [CategoryId] INT NOT NU

在SQL Server 2005中解决死锁

server|解决 数据库操作的死锁是不可避免的,本文并不打算讨论死锁如何产生,重点在于解决死锁,通过SQL Server 2005, 现在似乎有了一种新的解决办法. 将下面的SQL语句放在两个不同的连接里面,并且在5秒内同时执行,将会发生死锁. use Northwind begin tran     insert into Orders(CustomerId) values('ALFKI')     waitfor delay '00:00:05'     select * from Ord

使用 TRY/CATCH 语句解决 SQL Server 2005 死锁

本文示例源代码或素材下载 对于今天的 RDBMS 体系结构而言,死锁难以避免 - 在高容量的 OLTP 环境中更是极为普遍.正是由于 .NET 的公共语言运行库 (CLR) 的出现,SQL Server 2005 才得以为开发人员提供一种新的错误处理方法.在本月专栏中,Ron Talmage 为您介绍如何使用 TRY/CATCH 语句来解决一个死锁问题. 一个示例死锁 让我们从这样一个示例开始说起,它在 SQL Server 2000 和 2005 中都能引起死锁.在本文中,我使用 SQL Se

无法在 SQL Server 2005 Manger Studio 中录入中文的

问题表现:在 SQL Server 2005 Manger Studio中打开表,无法输入中文,只能输入英文 问题重现:1. 我们建立如下三个测试表:CREATE TABLE ta(    id int IDENTITY,    col varchar(50)) CREATE TABLE tb(    col varchar(50),    id int IDENTITY) CREATE TABLE tc(    col1 varchar(50),    col2 as col1) 2. 在SQ

解决SQL SERVER 2005无法远程连接的问题

server|解决|问题 问题 使用SQL Server Management Studio无法连接远程服务器,提示以下错误: 使用telnet 连接1433端口,报告连接失败,应该是网管封了1433端口. 解决 使用其它可用端口,方法是 1.在服务器上打开SQL Server Configuration Manager.选择SQL Server配置管理器->SQL Server 2005网络配置->MSSQLSERVER的协议->TCP/IP,在弹出对话框中选择IP地址->IPA

SQL SERVER 2005远程登陆18456错误的解决方法

一.SQL SERVER 2005 登陆18456错误的解决方法 很多朋友使用MSsql的时候本机能够正常登陆SQL2005的SQL Server Management Studio. 但是远程无法登陆1433,SQL Server 2005无法远程连接到1433.SQL(Microsoft SQL Server 2005 )登录不上去了,原来是出现了几个小问题,现在记录一下我的解决这几个情况的办法.(解决方法有很多种,这些只是我的解决方法,仅供参考) 错误提示: 标题: 连接到服务器 ----

sql server 2005时发生18452错误解决方法

ODBC 测试sql server 2005时发生18452错误解决方法 用.net开发的网站连接数据库里发生错误,当访问静态页面里显示正常. 1.首先想到的是测试ODBC数据源,当用sql用户和密码登录时出现如下图错误: 2.因为是在客户服务器上安装,所以未设置sa的密码,由于安装时未勾选择了"windows身份验证",所以当你测试sql server 2005的用户时出现此错误. 3.打开"SQL Server Management Studio"双击数据库所在