国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

ホームページ データベース mysql チュートリアル SQL Server 2005 中的 Unicode 支持

SQL Server 2005 中的 Unicode 支持

Jun 07, 2016 pm 03:04 PM
server sql unicode サポート

Unicode 支持 是 SQL Server 2005 中多語言 支持 的基

  Unicode 支持SQL Server 2005 中多語言支持的基礎(chǔ)。Unicode 是由 Unicode Consortium(一個(gè)提倡為所有語言使用單一字符集的組織)創(chuàng)立的一項(xiàng)標(biāo)準(zhǔn)。SQL Server 2005 支持 Unicode 標(biāo)準(zhǔn) 3.2 版。Unicode 標(biāo)準(zhǔn)的 3.01 版與 ISO-10646(一項(xiàng)與 Unicode 中的所有碼位均相符的國際標(biāo)準(zhǔn))完全相同。

  Unicode 的工作方式是,為每個(gè)字符提供一個(gè)唯一的碼位,該碼位與平臺(tái)、程序或語言無關(guān)。支持 Unicode 的程序可以處理任何語言的數(shù)據(jù)。因?yàn)槠湓O(shè)計(jì)宗旨是涵蓋世界上所有語言的所有字符,所以不需要讓不同的代碼頁來處理不同的字符集。

  因?yàn)樗?Unicode 系統(tǒng)都統(tǒng)一使用相同的位模式來表示所有字符,所以從一個(gè)系統(tǒng)轉(zhuǎn)到另一個(gè)系統(tǒng)時(shí),不會(huì)出現(xiàn)字符轉(zhuǎn)換不正確的問題。

  管理國際數(shù)據(jù)庫中的字符數(shù)據(jù)的最簡單方法是始終使用 Unicode nchar、nvarchar 和 nvarchar(max) 數(shù)據(jù)類型,而不使用它們對應(yīng)的非 Unicode 數(shù)據(jù)類型:char、varchar 和 text。這樣,客戶端與所有其他客戶端所看到的數(shù)據(jù)中的字符將是相同的。如果所有使用國際數(shù)據(jù)庫的應(yīng)用程序還使用 Unicode 變量來代替非 Unicode 變量,則不需要在系統(tǒng)中的任何位置執(zhí)行字符轉(zhuǎn)換。

  注意 未來版本的 Microsoft SQL Server 中將刪除 ntext 數(shù)據(jù)類型。

  Unicode 碼位及它們所代表的字符與用于可視呈現(xiàn)的“字形”是分開的。ISO 標(biāo)準(zhǔn) (ISO/IEC 9541-1) 將字形定義為“與具體設(shè)計(jì)無關(guān)的可識別抽象圖形符號”。因此,一個(gè)字符不必總是由相同的字形乃至唯一的字形來表示。所選擇的字體決定將使用什么字形來表示特定碼位或一系列碼位。

  有關(guān)詳細(xì)信息,請參閱 Unicode Consortium 網(wǎng)站。

  編碼

  Unicode 將碼位映射到字符,但實(shí)際上并不指定數(shù)據(jù)在內(nèi)存、數(shù)據(jù)庫或網(wǎng)頁中的表示方式。這便是 Unicode 數(shù)據(jù)編碼發(fā)揮作用的地方。有許多不同的 Unicode 編碼。多半選擇一種 Unicode 數(shù)據(jù)類型即可,不必為這些細(xì)節(jié)操心;不過,在以下情況下了解編碼有重要意義:

  ?應(yīng)對可能以不同方式對 Unicode 進(jìn)行編碼的應(yīng)用程序時(shí)

  ?向其他平臺(tái)(非 Microsoft Windows)或 Web 服務(wù)器發(fā)送數(shù)據(jù)時(shí)

  ?導(dǎo)入其他編碼的數(shù)據(jù)或?qū)?shù)據(jù)導(dǎo)出為其他編碼時(shí)

  Unicode 標(biāo)準(zhǔn)定義了其單一字符集的多種編碼:UTF-7、UTF-8、UTF-16 和 UTF-32。本部分對這些常見的編碼進(jìn)行說明:

  ?UCS-2

  ?UTF-16

  ?UTF-8

  SQL Server 通常以 UCS-2 編碼方案存儲(chǔ) Unicode。不過,許多客戶端以另一種編碼方案(如 UTF-8)來處理 Unicode。這種情況在基于 Web 的應(yīng)用程序中經(jīng)常出現(xiàn)。在 Microsoft Visual Basic 應(yīng)用程序中,字符串以 UCS-2 編碼方案來處理。因此,不需要顯式地指定 Visual Basic 應(yīng)用程序與 SQL Server 實(shí)例之間的編碼方案轉(zhuǎn)換。

  SQL Server 2005 使用 Unicode (UTF-16) 來對 XML 數(shù)據(jù)進(jìn)行編碼。類型為 xml 的列中的數(shù)據(jù)以內(nèi)部格式存儲(chǔ)為二進(jìn)制大型對象 (BLOB),以支持 XML 模型特征,如文檔順序和遞歸結(jié)構(gòu)。因此,從服務(wù)器檢索的 XML 數(shù)據(jù)會(huì)以 UTF-16 格式輸出;如果想要為檢索的數(shù)據(jù)使用其他編碼,則應(yīng)用程序必須對所檢索的 UTF-16 數(shù)據(jù)執(zhí)行必要的轉(zhuǎn)換。《SQL Server 2005 聯(lián)機(jī)叢書》中的 XML 最佳實(shí)踐提供了如何為從 varchar(max) 列中檢索的 XML 數(shù)據(jù)顯式地聲明編碼的示例。

  使用 UTF-16 編碼是因?yàn)樗梢蕴幚?2 字節(jié)或 4 字節(jié)字符,并且處理是依照面向字節(jié)的協(xié)議進(jìn)行的。這些特性使得 UTF-16 非常適合于遍歷使用不同編碼和字節(jié)排序系統(tǒng)的不同計(jì)算機(jī)。因?yàn)?XML 數(shù)據(jù)通常在網(wǎng)絡(luò)上得到廣泛共享,所以在數(shù)據(jù)庫中及在將 XML 數(shù)據(jù)導(dǎo)出到客戶端時(shí)保持默認(rèn)的 UTF-16 存儲(chǔ)格式是有意義的。

  UCS-2

  UCS-2 是 UTF-16 的前身。UCS-2 與 UTF-16 的不同之處是,UCS-2 是一種固定長度編碼,它以 16 位值(2 個(gè)字節(jié))表示所有字符,因此不支持補(bǔ)充字符。UCS-2 常與 UTF-16 發(fā)生混淆,UTF-16 用于在內(nèi)部表示 Microsoft Windows 操作系統(tǒng)(Windows NT、Windows 2000、Windows XP 和 Windows CE)中的文本,但 UCS-2 受到的限制更多。

  注意 有關(guān)在 Windows 操作系統(tǒng)中使用 Unicode 的最新信息,請參閱 Microsoft Developer Network (MSDN) 庫中的 Unicode。建議 Windows 應(yīng)用程序在內(nèi)部使用 UTF-16,僅在必須使用其他格式時(shí)再通過接口作為“薄層”的一部分進(jìn)行轉(zhuǎn)換。

  在 Microsoft SQL Server 2000 和 Microsoft SQL Server 2005 中以 Unicode 存儲(chǔ)的信息使用 UCS-2 編碼,無論使用的是哪個(gè)字符,該編碼都將每個(gè)字符存儲(chǔ)為兩個(gè)字節(jié)。因此,對拉丁語字母“A”的處理方式與對西里爾文字母 Sha ())、希伯來語字母 Lamed (ì)、泰米爾語字母 Rra (?) 或日語平假名字母 E (?|) 的處理方式是相同的。每個(gè)字母都有一個(gè)唯一的碼位(對于上述字母,碼位分別為 U+0041、U+0248、U+05DC、U+0BB1 和 U+3048,每個(gè)四位十六進(jìn)制數(shù)表示 UCS-2 使用的那兩個(gè)字節(jié))。

  因?yàn)?UCS-2 只考慮了 65,536 個(gè)不同碼位的編碼,其本身無法處理補(bǔ)充字符,只能將補(bǔ)充字符視為未定義的 Unicode 代理項(xiàng)字符,這些字符組對后定義補(bǔ)充字符。不過,SQL Server 可以存儲(chǔ)補(bǔ)充字符而不會(huì)有字符丟失或損壞的風(fēng)險(xiǎn)。通過創(chuàng)建自定義 CLR 函數(shù),可以擴(kuò)展 SQL Server 處理代理項(xiàng)對的能力。有關(guān)處理代理項(xiàng)對和補(bǔ)充字符的詳細(xì)信息,請參閱本文后面的“補(bǔ)充字符和代理項(xiàng)對”部分。

  注意 補(bǔ)充字符定義為“具有補(bǔ)充碼位的 Unicode 編碼字符”。補(bǔ)充碼位的范圍在 U+10000 和 U+10FFFF 之間。

  UTF-8

  UTF-8 是一種旨在以與計(jì)算機(jī)上的字節(jié)排序無關(guān)的方式來處理 Unicode 數(shù)據(jù)的編碼方案。在處理 ASCII 及其他要求使用 8 位編碼的面向字節(jié)的系統(tǒng)(例如,必須覆蓋大量使用不同編碼、不同字節(jié)順序和不同語言的計(jì)算機(jī)的郵件服務(wù)器)時(shí),UTF-8 會(huì)有幫助。盡管 SQL Server 2005 不以 UTF-8 格式存儲(chǔ)數(shù)據(jù),但它仍支持使用 UTF-8 來處理可擴(kuò)展標(biāo)記語言 (XML) 數(shù)據(jù)。有關(guān)詳細(xì)信息,請參閱本文的 SQL Server 2005 中的 XML 支持部分。

  其他數(shù)據(jù)庫系統(tǒng)(例如,Oracle 和 Sybase SQL Server)通過使用 UTF-8 存儲(chǔ)來支持 Unicode。視服務(wù)器的實(shí)現(xiàn)方式而定,從技術(shù)上講實(shí)現(xiàn)數(shù)據(jù)庫引擎可能比較容易,因?yàn)榉?wù)器上的現(xiàn)有文本管理代碼在一次處理一個(gè)字節(jié)的數(shù)據(jù)時(shí)并不要求進(jìn)行重大更改。不過,在 Windows 環(huán)境中,UTF-8 存儲(chǔ)有幾個(gè)缺點(diǎn):

  ?組件對象模型 (COM) 僅在其 API 和接口中支持 UTF-16/UCS-2。因此,如果數(shù)據(jù)以 UTF-8 格式存儲(chǔ),必須始終進(jìn)行轉(zhuǎn)換。僅在使用 COM 時(shí)會(huì)出現(xiàn)此問題;SQL Server 數(shù)據(jù)庫引擎通常不會(huì)調(diào)用 COM 接口。

  ?Windows XP 和 Windows Server 2003 的內(nèi)核均采用 Unicode。UTF-16 是 Windows 2000、Windows XP 和 Windows Server 2003 的標(biāo)準(zhǔn)編碼。不過,Windows 2000、Windows XP 和 Windows Server 2003 都可以識別 UTF-8。因此,在數(shù)據(jù)庫中使用 UTF-8 存儲(chǔ)格式需要進(jìn)行許多額外的轉(zhuǎn)換。通常,轉(zhuǎn)換所需的額外資源不會(huì)影響 SQL Server 數(shù)據(jù)庫引擎,但可能會(huì)影響許多客戶端操作。

  ?執(zhí)行許多字符串操作時(shí),UTF-8 的速度可能都會(huì)較慢。排序、比較及幾乎任何字符串操作的速度可能都會(huì)下降,因?yàn)樽址膶挾炔还潭ā?/p>

  ?UTF-8 往往需要 2 個(gè)以上的字節(jié),并且增加的大小會(huì)占用更多的磁盤和內(nèi)存空間。

  盡管有這些缺點(diǎn),但考慮到 XML 已成為一項(xiàng)重要的 Internet 通信標(biāo)準(zhǔn)這一事實(shí),您可能希望考慮將默認(rèn)編碼設(shè)置為 UTF-8。

このウェブサイトの聲明
この記事の內(nèi)容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰屬します。このサイトは、それに相當(dāng)する法的責(zé)任を負(fù)いません。盜作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡(luò)ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脫衣畫像を無料で

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード寫真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

寫真から衣服を削除するオンライン AI ツール。

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中國語版

SublimeText3 中國語版

中國語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強(qiáng)力な PHP 統(tǒng)合開発環(huán)境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

MySQL:SQLの実用的なアプリケーション MySQL:SQLの実用的なアプリケーション May 08, 2025 am 12:12 AM

MySQLは、優(yōu)れたパフォーマンスと使いやすさとメンテナンスのために人気があります。 1.データベースとテーブルの作成:createdatabaseとcreateTableコマンドを使用します。 2。挿入とクエリデータ:InsertIntoおよび選択ステートメントを介してデータを操作します。 3.クエリを最適化:インデックスを使用してステートメントを説明してパフォーマンスを向上させます。

SQL対MySQL:2つの関係を明確にします SQL対MySQL:2つの関係を明確にします Apr 24, 2025 am 12:02 AM

SQLはリレーショナルデータベースを管理するための標(biāo)準(zhǔn)言語であり、MySQLはSQLを使用するデータベース管理システムです。 SQLは、CRUD操作を含むデータベースと対話する方法を定義しますが、MySQLはSQL標(biāo)準(zhǔn)を?qū)g裝し、ストアドプロシージャやトリガーなどの追加機(jī)能を提供します。

SQLとMySQLの比較:構(gòu)文と機(jī)能 SQLとMySQLの比較:構(gòu)文と機(jī)能 May 07, 2025 am 12:11 AM

SQLとMySQLの違いと接続は次のとおりです。1.SQLはリレーショナルデータベースを管理するために使用される標(biāo)準(zhǔn)言語であり、MySQLはSQLに基づくデータベース管理システムです。 2.SQLは基本的なCRUD操作を提供し、MySQLはこれに基づいてストアドプロシージャ、トリガー、その他の機(jī)能を追加します。 3。SQL構(gòu)文標(biāo)準(zhǔn)化、MySQLは、返品行の數(shù)を制限するために使用される制限など、一部の場所で改善されています。 4.使用例では、SQLとMySQLのクエリ構(gòu)文はわずかに異なり、MySQLのJoinとGroupbyがより直感的です。 5.一般的なエラーには、構(gòu)文エラーとパフォーマンスの問題が含まれます。 MySQLの説明コマンドは、クエリのデバッグと最適化に使用できます。

SQLコードの書き込みはどこですか? SQLコードの書き込み方法は? SQLコードを作成する開始點(diǎn)のガイド? SQLコードの書き込みはどこですか? SQLコードの書き込み方法は? SQLコードを作成する開始點(diǎn)のガイド? Jun 04, 2025 pm 07:27 PM

SQLコードを作成する出発點(diǎn)は、要件を明確にすることです。 1)必要なデータと表の関係を解決して決定する問題を理解します。 2)Simple Selectステートメントからクエリの設(shè)計(jì)を開始し、徐々に複雑さを高めます。 3)視覚化ツールを使用してテーブル構(gòu)造を理解し、クエリが複雑な場合に參加を使用することを検討します。 4)クエリをテストし、説明コマンドを使用してパフォーマンスを最適化して、ヌル値処理や不適切なインデックスの使用などの一般的な落とし穴を回避します。

SQLの汎用性:単純なクエリから複雑な操作まで SQLの汎用性:単純なクエリから複雑な操作まで May 05, 2025 am 12:03 AM

SQLの多様性とパワーにより、データ処理の強(qiáng)力なツールになります。 1. SQLの基本的な使用には、データクエリ、挿入、更新、削除が含まれます。 2。高度な使用法は、マルチテーブル結(jié)合、サブクリーリー、窓の関數(shù)をカバーしています。 3.一般的なエラーには、構(gòu)文、ロジック、パフォーマンスの問題が含まれます。これらは、クエリを徐々に簡素化して説明コマンドを使用することでデバッグできます。 4。パフォーマンスの最適化のヒントには、インデックスの使用、Select*の避け、結(jié)合操作の最適化が含まれます。

MySQLおよびSQL:データ管理における役割 MySQLおよびSQL:データ管理における役割 Apr 30, 2025 am 12:07 AM

MySQLはデータベースシステムであり、SQLはデータベースを操作するための言語です。 1.mysqlはデータを保存および管理し、構(gòu)造化された環(huán)境を提供します。 2。SQLは、データをクエリ、更新、削除し、さまざまなクエリのニーズを柔軟に処理するために使用されます。彼らは協(xié)力して、パフォーマンスとデザインを最適化することが重要です。

SQLでより強(qiáng)力なパターンマッチングに正規(guī)表現(xiàn)を使用するにはどうすればよいですか? SQLでより強(qiáng)力なパターンマッチングに正規(guī)表現(xiàn)を使用するにはどうすればよいですか? May 27, 2025 am 12:02 AM

次の手順により、より強(qiáng)力なパターンマッチングにSQLの正規(guī)式を使用できます。1)パターンマッチングおよびデータ検証には、RegexpまたはRegexp_like関數(shù)を使用します。 2)特に大規(guī)模なデータセットを扱う場合は、最適化されたパフォーマンスを確保します。 3)保守性を向上させるために、複雑なパターンを記録および簡素化します。 SQLでの正規(guī)表現(xiàn)の適用は、データ分析と操作機(jī)能を大幅に強(qiáng)化できますが、パフォーマンスとパターンの複雑さに注意を払う必要があります。

SQLおよびデータベース:完璧なパートナーシップ SQLおよびデータベース:完璧なパートナーシップ Apr 25, 2025 am 12:04 AM

SQLとデータベースの関係は密接に統(tǒng)合されており、SQLはデータベースを管理および操作するためのツールです。 1.SQLは、データ定義、操作、クエリ、および制御に使用される宣言言語です。 2。データベースエンジンはSQLステートメントを解析し、クエリプランを?qū)g行します。 3.基本的な使用には、テーブルの作成、データの挿入、クエリが含まれます。 4.高度な使用には、複雑なクエリとサブ征服が含まれます。 5.一般的なエラーには、構(gòu)文、ロジック、パフォーマンスの問題が含まれます。これは、構(gòu)文チェックおよび説明コマンドを介してデバッグできます。 6.最適化手法には、インデックスの使用、フルテーブルスキャンの回避、クエリの最適化が含まれます。

See all articles