`
open2ye
  • 浏览: 101060 次
  • 性别: Icon_minigender_1
  • 来自: 温州
社区版块
存档分类
最新评论

用Ruby 来调用 mssql(sqlserver) 的 ntext 等 unicode 类型

阅读更多
访问数量库时用
    
DBI.connect(ODBC_NAME,ODBC_USER, ODBC_PWD) do |db|
  db.do('set textsize 9999')  # 如果没有这句会抛错
  db.select_all("select * from 
end


unicode -> utf8 or gb2312

require 'iconv'
require 'cgi'
class Iconv

  def Iconv.unicode2utf8(unicode_string)
    unicode_string.gsub(/\\u\w{4}/) do |s|
      str = s.sub(/\\u/, "").hex.to_s(2)
      if str.length < 8
        CGI.unescape(str.to_i(2).to_s(16).insert(0, "%"))
      else  
        arr = str.reverse.scan(/\w{0,6}/).reverse.select{|a| a != ""}.map{|b| b.reverse}
        # ["100", "111000", "000000"]
        hex = lambda do |s|
          (arr.first == s ? "1" * arr.length + "0" * (8 - arr.length - s.length) + s : "10" + s).to_i(2).to_s(16).insert(0, "%")
        end
        CGI.unescape(arr.map(&hex).join)
      end
    end
  end
  
  def Iconv.unicode2gb2312(unicode_string)
    u8_text = Iconv.unicode2utf8(unicode_string)
    Iconv.iconv("UTF-8//IGNORE","GB2312//IGNORE",u8_text)
  end
end


unicode2utf8 从 http://yuweijun.blogspot.com/2008/12/rubyunicodeutf8.html 得到
分享到:
评论

相关推荐

    SQL Server 中 text或ntext 字段内容替换方法

    在不确定text或ntext字段长度的时候 SQL Server 中 text或ntext 字段内容替换方法

    sqlserver数据库类型对应Java中的数据类型

    在 SQL Server 中,ntext 是一个 Unicode 文本类型,用于存储 Unicode 文本数据。在 Java 中,ntext 对应的数据类型是 String。 uniqueidentifier 在 SQL Server 中,uniqueidentifier 是一个唯一标识符类型,用于...

    SqlServer数据库的数据类型

    SQL Server作为一种广泛使用的数据库管理系统,提供了丰富的数据类型来满足各种需求。下面我们将详细介绍SQL Server中的25种数据类型。 #### 1. 二进制数据类型 - **Binary[(n)]**:表示固定长度的二进制数据,...

    sqlserver-oracle 数据类型对照

    - `bit`在SQL Server中没有直接对应的Oracle数据类型,但可以近似用单字节的`NUMBER(1)`表示。 - `datetime`和`smalldatetime`在SQL Server中对应Oracle的`DATE`,表示日期和时间。 - `decimal`和`numeric`在SQL ...

    sql server替换textntext类型字段的值

    SQL Server 中的 text/ntext 类型字段是一种特殊的数据类型,它们不能像其他数据类型那样使用简单的 UPDATE 语句来替换值。因为 text/ntext 类型字段的存储方式与其他数据类型不同,它们需要使用特殊的处理方式来...

    SQLServer常用字段类型

    SQL Server 提供了丰富的数据类型,覆盖了从基本数值到复杂文本、图像等各类数据的存储需求。下面将详细解析《SQL Server常用字段类型》资料中提及的关键数据类型及其应用特点。 #### 数值类型 1. **Bit**:用于...

    sql server 和oracle 中数据类型的区别

    14. **LONG**: 用于存储较大的文本数据,但在新版本的Oracle中已不推荐使用,其在SQL Server中的对应类型为`ntext`。 15. **LONG RAW**: 用于存储较大的二进制数据,同样不推荐在新版本的Oracle中使用,其在SQL ...

    SQL SERVER与C#数据类型对应表

    在 SQL Server 中,提供了不同类型的字符串以满足不同的需求,如定长和可变长度、Unicode 和非 Unicode 等。在 C# 中,所有这些类型都可以使用 `String` 类型表示。 #### 6. 二进制类型(Binary) - **SQL Server*...

    SQLServer内的数据类型详解

    2. **sql_variant**:一种特殊类型,可以存储SQL Server支持的所有其他数据类型的值,除了`text`、`ntext`和`timestamp`类型。 3. **table**:用于表示表值表达式,可以存储表结构的数据。 4. **timestamp**:...

    SQLserver查询数据类型为ntext是空或NULL值的方法

    在 SQLserver 中,查询数据类型为 ntext 是空或 NULL 值的方法可以使用 datalength 函数来实现。datalength 函数可以返回指定列的长度,如果该列为空或 NULL,则返回 NULL。 以下是一个查询数据类型为 ntext 是空或...

    sql server 数据类型

    SQL Server 数据类型是数据库管理系统中用于定义和存储数据的基础组件,它们决定了数据的结构和特性。在SQL Server 2000中,数据类型的选择至关重要,因为它直接影响到数据的存储方式、大小以及处理效率。 首先,让...

    SQL Server数据库与Java类型对照.doc

    在进行数据库开发时,尤其是在使用 SQL Server 作为后端数据库并与 Java 应用程序进行交互时,了解 SQL Server 的数据类型与 Java 数据类型的对应关系非常重要。这种对应关系有助于确保数据在数据库与应用程序之间...

    sqlserver 中ntext字段的批量替换(updatetext的用法)

    请注意,由于`ntext`已被弃用,SQL Server 2016及更高版本推荐使用`nvarchar(max)`类型来存储大量文本。不过,如果在较早的SQL Server版本中仍需处理`ntext`字段,这个存储过程将是一个有效的解决方案。此外,使用时...

    SQL Server 数据类型总结

    除了上述基本类型外,SQL Server还提供了一些特殊数据类型,如`bit`用于存储布尔值(0或1),`uniqueidentifier`用于存储GUID,以及`xml`类型用于存储XML文档等。 ### 结论 掌握SQL Server中的数据类型对于有效地...

    从mysql数据库迁移至sqlserver数据库

    这是因为`text`在MySQL中默认编码可能与SQL Server的`ntext`类型不同。因此,建议在迁移前将MySQL中的`text`类型数据转换为`varchar(10000)`,确保其能在SQL Server中正确表示并避免乱码问题。迁移后,SQL Server会...

    sql server 2005 数据类型

    SQL Server 2005 数据类型是数据库设计的基础,它决定了数据如何被存储和处理。在SQL Server 2005中,数据类型分为两大类:字符串数据类型和数值数据类型。 1. 字符串数据类型: - `char`: 定长字符串,存储1到...

    JSP调用SQL Server的存储过程

    在本篇文章中,我们将探讨如何通过JSP页面来调用SQL Server中的存储过程。此示例涉及到数据库表的创建、存储过程的定义以及JSP页面上的具体实现。 #### 数据库表的创建 首先,我们来看看数据库表`BookUser`的创建...

    C#中的类型和SQL Server中的类型对应关系

    在编程和数据库交互时,了解数据类型的对应关系是至关重要的,特别是当使用C#与SQL Server进行数据操作时。C#是一种面向对象的编程语言,而SQL Server则是一个关系型数据库管理系统,它们各自有一套独立的数据类型。...

    SQL SERVER数据类型表

    SQL Server提供了多种数据类型,包括数值类型、字符类型、日期/时间类型、二进制类型、特殊类型等。让我们详细探讨这些主要的数据类型。 1. 数值类型: - 整数类型:包括`tinyint`(1字节,0到255)、`smallint`...

    sql server 2005数据类型说明

    在SQL Server 2005中,数据类型的丰富性和灵活性为数据库设计提供了强大的支持,能够满足各种业务场景的需求。以下是对部分关键数据类型及其特性的深入解析: ### 1. 字符串类型 #### `char` 和 `varchar` - `...

Global site tag (gtag.js) - Google Analytics