Makale numarası: 153449 - Son Gözden Geçirme: 17 Kasım 2003 Pazartesi - Gözden geçirme: 3.0 BILGI: SQL Server kod sayfaları ve AutoAnsiToOem davranışı
Bu SayfadaÖzetBu makalede, SQL Server ve nasıl ekleme ya da veri almakla AutoAnsiToOem ayarı devre dışı bırakma veya etkinleştirme etkilenen kod sayfaları açıklanmaktadır. Bir kod sayfası olarak da bilinen bir karakter kümesi, 256 büyük ve küçük harfler, sayılar ve simgeler kümesidir. Ilk 128 değerlerin yazdırılabilir karakterleri tüm karakter kümesi (seçenek için de aynıdır. Son olarak 128 karaktere bazen dile özgü karakterler da adlandırılır, kümesi kümesi arasında farklılık gösterir. Varsayılan kod sayfasını 4.21a SQL Server kod sayfası ayarını 850 (çok dilli) ' dir. SQL Server 6. 0'ın ve 6.5'için ISO 8859-1 varsayılandır (Latin 1 veya ANSI) kod sayfası 1252 olarak da bilinir. SQL Server kod sayfası, her iki türlerini sonuçları karakter karşılaştırmaları gerektiren sorgular için SQL Server'ı verir ve veritabanınızın SQL Server'ı tanıdığı karakterleri belirler. SQL Server kod sayfası işletim sisteminin kod sayfasından farklı olduğunu unutmayın. Windows NT ve Windows 95 işletim sistemlerinde, bir <a0>ANSI</a0> kod sayfası ve bir OEM kod sayfası vardır. ANSI ve OEM kod sayfaları ülke ayarlarına bağlıdır. ABD ingilizce Windows NT ve Windows 95, varsayılan ANSI kod sayfası 1252 ve OEM kod sayfası 437 (ABD Ingilizce). MS-DOS, yalnızca bir OEM kod sayfası da vardır. Ingilizce (ABD) için bu kod sayfası 437 varsayılan olarak değil. Windows 3.x için MS-DOS bir uzantısı olarak çalışan ve bir varsayılan ANSI kod sayfası 1252 vardır. Windows NT Konsolu'nu dahili unicode; ancak, bu özel bir durumdur; bir MS-DOS kod sayfası çalıştırıyor olmanız görünmesi gerekir. Bu nedenle, Windows NT altında konsol uygulamaları bilgisayarın OEM kod sayfası etkin bir şekilde çalıştırın. Ancak, ANSI kod sayfası yerine, OEM kod sayfası ve bu nedenle, bir AnsiToOem çevrilmesi için konsol uygulaması geçirilen parametreler bulunan herhangi bir komut satırı parametreleri düzgün SQL Server'a geçirilecek konsol uygulaması gerekmektedir. Veri eklendiğinde veya alınan kayıt defteri girdisi AutoAnsiToOem dönüştürme varsayılan davranışını denetler. AutoAnsiToOem etkinleştirilmişse, dönüştürme, aşağıdaki durumlarda etkinleştirilir:
Tüm Windows tabanlı istemcilerin (örneğin, ISQL/w, SQL Enterprise Manager, aktarım Yöneticisi, SQL Yöneticisi ve SQL Nesne Yöneticisi), ANSI istemcilerini kabul edilir. MS-DOS veya konsol tabanlı uygulamaları ISQL ve BCP OEM istemcilerini kabul edilir. Bunun istisnası, veri aktarım seçeneği, nesne bir OEM istemcisi gibi davranır Yöneticisi, ' dir. SQL Server kod sayfası 1250 thru 1259 ile bir ANSI sunucu olarak düşünülür ve SQL Server herhangi diğer kod sayfasının (örneğin, 850 veya 437) bir OEM sunucu olarak düşünülür. OEM kod sayfası karakter çevirmek için kullanılan geçerli OEM kod sayfası istemci işletim sistemi üzerinde bağlıdır. Örneğin, AutoAnsiToOem seçeneği etkinken, bir ANSI sunucu ASCII karakter 165 ([ASCII 165]) ASCII 190 ([ASCII bir OEM kod sayfası 850 istemciyle seçerken 165]) ve ASCII 157 ([ASCII 165]) bir OEM kod sayfası 437 istemciyle seçerken dönüştürülür. Daha fazla bilgiAşağıdaki tabloda, bu makalenin geri kalanında için genel bir bakış sağlar: Bu tabloyu kapa
PART A: nasıl SQL Server'ın kod sayfas?n? belirlemeSaklı yordamın sp_helpsort SQL Server'ın sıralama düzenini ve karakter kümesini bulmak için kullanılır.KıSıM B Etkinleştirme veya AutoAnsiToOem devre dışı bırakmaKayıt defteri girdisi AutoAnsiToOem etkin veya istemci konfigürasyonu yardımcı programında otomatik ANSI OEM onay kutusunu seçerek devre dışı. Sürüm 6.0 ve 6. 5'i varsayılan olarak etkindir, ancak SQL Server'da 4.21a OEM otomatik ANSı'YE varsayılan olarak devre dışıdır.PART C: nasıl kaydedilen verileri geçerliliği denetlemeTransact SQL dizesi işlevi ASCII(char_expr) sunucuda gerçekten kaydedilen belirlemek için kullanılır. Bu işlevi, karakter bir ifadede en soldaki karakteri ASCII kodu değerini gösterir. Örneğin, "[ASCII 177]" karakteri 850 bir sunucuya kaydedilen varsa, ISQL/w verileri seçme olabilir (AutoAnsiToOem açıkken) "[ASCII 177]" karakteri Göster'i veya "[ASCII 241]" (AutoAnsiToOem kapalı olduğunda). Ancak, ASCII(<column_name>) seçmek size gösterir (olan "[ASCII 177]" 850 kod sayfasına) 241.PART D: ne kullanılamıyor üzerinde başka bir kod sayfası karakter olduğunda, olurKarakter dönüştürme oluşur ve bir karakterin bir kod sayfasında diğerine kullanılamaz, kod sayfası, en yakın eşdeğer karakteri dönüştürüldü. Örneğin, üzerinde kod sayfası 437 ("Alfa") ASCII 224 97("a") ANSI kod sayfasına dönüştürülür. Kod sayfası 437 dönüştürdüğünüzde, 97("a") alırsınız. Şimdi özgün 224("alpha") kayıp bir sorunu olmasıdır. Bu, büyük olasılıkla hatalı veriler, sunucunuzda aşağıdaki iki örnek olmuyor gibi kaydedilecek neden olabilir:Örnek 1: Bir ANSI istemciden veri ekleme ve sizin AutoAnsiToOem seçeneği etkinse, bir OEM sunucusu var. Eklediğiniz karakterin kodu sayfaların ikisini de geçerliyse, doğru veri kaydedilir. ANSI, ancak değil de, OEM karakter geçerlidir, ancak doğru verileri kaydedilmeyecek. Örnek 2: Bir <a0>OEM</a0> istemcisinden bir ANSI sunucu veri eklemek ve AutoAnsiToOem seçeneği etkinleştirilir. Eklediğiniz karakterin kodu sayfaların ikisini de geçerliyse, doğru veri kaydedilir. OEM ve ANSI olmayan karakter geçerlidir, ancak sonra doğru veri kaydedilmeyecek. PART E: Bir ABD klavye ile karakterler genişletilmiş giriliyorNUMLOCK'UN basın ve klavyenin sağ tarafındaki sayısal tuş takımını kullanın. ANSI genişletilmiş karakterler girmek için <a0></a0>, ALT tuşunu basılı tutun ve sonra da bir sıfırla (0) önce karakter ASCII kodunu yazın. OEM genişletilmiş karakterler girmek için <a0></a0>, ALT tuşunu basılı tutun ve karakter yalnızca ASCII kodunu yazın. Örneğin, girin +, ALT basılı tutun ve 0165, yazın (istemcinin OEM kod sayfası 437 ise) 157 yazın veya (istemcinin OEM kod sayfası 850) 190 yazın.KıSıM F: Windows NT ve Windows 95 OEM kod sayfasını değiştirmek nasılWindows NT 3.51 için tercih edilen yöntemi Windows NT'de OEM kod sayfası değiştirmek Denetim Masası uluslararası dilinde değiştirmektir. Windows NT 4. 0'da veya Windows 95 OEM kod sayfası, başlangıç kurulumu sırasında seçilir.Ayrıca, The OEM kod sayfası OEMCP ve OEMHAL (yalnızca Windows NT) değiştirerek değiştirilebilir kayıt defteri değerlerini aşağıda belirtilen konumda: HKEY_LOCAL_MACHINE\SYSTEM\CurrentlControlSet\Control\Nls\CodePage Hangi OEM kod sayfası ANSI ve OEMHAL değeri çevirmek için Uzatılmış karakterler komut görüntüsünü denetler OEMCP değerini denetler. Olası değerler için bu kayıt defteri değerlerinden bazıları şunlardır: Bu tabloyu kapa
Bu ayar OEMCP kayıt defteri değerini değiştirmenin yanı sıra, bir komut isteminde, dile özgü karakterler görünümünü denetleyen OEMHAL değeri de değiştirir. PART G: Nasıl OEM kod sayfası'nın MS-DOS ve Windows 3.x DeğiştirMS-DOS için kod sayfasını değiştirmek için <a0></a0>, Bölüm 6, MS-DOS Programming başvuru 6.0 Ulusal dil desteği bakın. MS-DOS kod sayfası değiştirildikten sonra ANSI-OEM çeviri tabloları, OEM dönüştürme için ANSI değiştirmek için Windows Kur programını çalıştırmalısınız.PART H: İstemci önerileri için tutarlı veriAşağıdaki öneriler, SQL Server kod sayfası yerine göre genellikle hatalı verilerin nedenini olan istemci kod sayfası SQL Server'da depolanan verilerin saklandığını sağlamaya yardımcı olur.MS-DOS istemcilerinin: Since MS-DOS, yalnızca bir OEM kod sayfası ve hiçbir ANSI kod sayfası varsa, hiçbir dönüşümleri yapılır. SQL Server kod sayfası istemci kod sayfası eşleşecek şekilde ayarlanmalıdır; bu nedenle sunucu ile istemci OEM kod sayfası istemci her zaman veri depolar. OEM ve ANSI istemcilerinin: SQL Server çalıştıran bir bilgisayarda, ANSI kod sayfası kullanmıyorsa, istemci OEM kod sayfası SQL Server kod sayfası eşleşen ve AutoAnsiToOem dönüştürme etkinleştirmek için değiştirin. ANSI kod sayfası SQL Server çalıştıran bir bilgisayarda kullanıyorsanız, AutoAnsiToOem dönüştürme etkinleştirmeniz yeterlidir. Yukarıdaki önermelerden özel durumlar şunlardır:
PART ı: MS-DOS isql.exe örnekleriAşağıdaki örneklerin her tablo, çeşitli noktalarda karakterinin bir ondalık eşdeğeri gösterir.Ekle ve, SELECT + 437 OEM kod sayfası 437 bir kod ve içine MS-DOS isql.exe istemciyle ile SQL Server sayfa karakter. Bu tabloyu kapa
* Değeri, MS-DOS istemcilerinin AnsiToOem dönüştürmeleri gerçekleştirmek sonra hiçbir zaman 157, değişir. PART J: Win32 bcp.exe örnekleriÖrnek 1:EXPORT ve Al'ın + içine bir SQL Server 850 kod sayfası 850 OEM kod sayfası karakter Win32 Bcp.exe istemciyle. Bu tabloyu kapa
* Hem istemci hem de sunucu OEM olduğundan, dönüştürme gerçekleştirilir. Örnek 2: Al, + karakter Win32 Bcp.exe istemciyle bir 437 OEM kod sayfası ve kod sayfası 437, bir ANSI kod sayfası SQL Server içinde oluşturulmuş veriler. Bu tabloyu kapa
* + ANSI eşdeğer dönüştürülür. Örnek 3: EXPORT 165 karakter Win32 Bcp.exe istemcisinin bir 437 OEM kod sayfası, bir ANSI kod sayfasından daha sonra bir SQL Server 437 kod sayfasına almak için SQL Server ile. Bu tabloyu kapa
* + OEM eşdeğer geri dönüştürülür. Örnek 4: EXPORT'ın + 1252 OEM kod sayfası, gelen bir ANSI karakter Win32 Bcp.exe istemciyle <a1>Sayfa</a1> SQL Server'ı daha sonra aynı SQL Server'a almak için kod. Bu tabloyu kapa
* ANSI kod sayfası istemcide OEM kod sayfası eşleştiğinden dönüştürme oluşur. PART K: Isqlw.exe örnekleriÖrnek 1:SQL Server, INSERT ve SELECT Win16 veya Win32 Isqlw.exe istemcisinin içine bir ANSI kod sayfası. Bu tabloyu kapa
* Hem istemci hem de sunucu ANSI olduğundan, dönüştürme gerçekleştirilir. Örnek 2: INSERT ve SELECT, Win16 veya Win32 ISQLW.EXE 437 kod sayfasına SQL Server OEM kod sayfası 437 istemciyle. Bu tabloyu kapa
* [ASCII 165] OEM eşdeğer dönüştürülür. ** [ASCII 165] eşdeğer ANSI dönüştürülür. PART L: Aktarım Yöneticisi örnekleriÖrnek 1:SQL Server aktarım Yöneticisi 6.0 iki ANSI kod sayfası SQL Server'lar arasında. Bu tabloyu kapa
* Hem istemci hem de sunucu ANSI olduğundan, dönüştürme gerçekleştirilir. Örnek 2: SQL Server aktarım Yöneticisi 6.0 OEM kod sayfası 437, SQL Server 437 kod sayfasından ANSI olan <a1>Sayfa</a1> SQL Server kod. Bu tabloyu kapa
* [ASCII 165] eşdeğer ANSI dönüştürülür. ** Hem istemci hem de sunucu ANSI olduğundan dönüştürme gerçekleştirilir. Örnek 3: SQL Server aktarım Yöneticisi 6.0 ile bir ansı'den OEM kod sayfası 850, sayfaya bir SQL Server 850 kod sayfası SQL Server kod. Bu tabloyu kapa
* Hem istemci hem de sunucu ANSI olduğundan dönüştürme gerçekleştirilir. ** [ASCII 165] OEM eşdeğer dönüştürülür. Örnek 4: SQL Server aktarım Yöneticisi 6.0 OEM kod sayfası 850, bir SQL Server 850 kod sayfası 850 kod sayfası SQL Server ile. Bu tabloyu kapa
* [ASCII 165] eşdeğer ANSI dönüştürülür. ** [ASCII 165] OEM eşdeğer dönüştürülür. PART M: ODBC ve ANSI-OEM dönüşümleriniTüm ODBC (GUI) ve konsol uygulamaları) ANSI istemcilerinin ODBC belirtimine göre tanımlanan istemcileridir. Çeviri, yalnızca SQL Server ANSI olmayan kod sayfasıyla ortaya çıkar. ODBC istemcilerinin üç çeviri seçenekleri vardır: hiçbir çeviri, OEM kod sayfası ile çevirme veya ODBC kod sayfası Çeviricisi'ni kullanın. Istemcinin OEM kod sayfası sunucuda depolanan belirler, çeviri OEM kod sayfası ile aynı DB-Library ANSI olarak, OEM dönüştürme çalışır. Bu seçenek, veri kaynağı kur iletişim kutusundaki ANSI karakter onay kutusunu ConvertOEM seçerek seçilir. ODBC kod sayfası Çeviricisi'ni kullanmak için <a0></a0>, veri kaynağı kur iletişim kutusundaki <a1>Çeviri</a1> bölümündeki seçim düğmesini, sonra da MS kod sayfası Çeviricisi'ni tıklatın ve kullanmak için kod sayfası Çeviricisi'ı seçin. Bu seçenek, ANSI karakter onay kutusu için <a2>Dönüştür</a2> OEM geçersiz kılar ve seçilen, yerine OEM kod sayfası Çeviricisi göre OEM çeviri yapar. Tüm ODBC istemcileridir ANSI istemcilerinin ve çevirisini yalnızca ANSI olmayan kod sayfasıyla SQLservers ortaya çıkar.PART N: MS Query ODBC istemci örnekleriÖrnek 1:MS Query istemciden, ANSI kod sayfası SQL Server'ın SELECT'i tıklatın. Bu tabloyu kapa
* Hem istemci hem de sunucu ANSI olduğundan, çeviri olsun, seçilen dönüştürme gerçekleştirilir. Örnek 2: OEM kod sayfası 437 MS Query istemciyle, SELECT ve bir SQL Server 437 kod sayfasından Dönüştür OEM ANSI karakter, etkin. Bu tabloyu kapa
* Eşdeğer ANSI dönüştürülür. Örnek 3: Etkin MS Query istemciyle OEM kod sayfası 437 (OEM ANSI karakter dönüştürme ve Windows Latin 1 (1252) SELECT / 850 (çok dilde-CVE-2006-Latin 1) MS kod sayfası Çeviricisi gelen 850 kod sayfası SQL Server. Bu tabloyu kapa
* 850 OEM kod sayfası Çeviricisi yüzünden kullanarak eşdeğer ANSI dönüştürülür. PART O: Diğer ilgili kod sayfası makaleleriKod sayfaları ve AnsiToOem seçeneği hakkında daha fazla bilgi için lütfen aşağıdaki Microsoft Knowledge Base'deki makaleleri bakın:75435 - Windows, Code Pages, and Character Sets (http://support.microsoft.com/kb/75435/EN-US/ ) 152980 - BUG: AnsiToOem Check Box Does Not Work in 6.0 Transfer Manager (http://support.microsoft.com/kb/152980/EN-US/ ) Bu makaledeki bilginin uygulandığı durum:
Otomatik TercümeÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir. Makalenin İngilizcesi aşağıdaki gibidir:153449
(http://support.microsoft.com/kb/153449/en-us/
)
| Diğer Kaynaklar Diğer Destek Siteleri
ToplulukHemen Yardım AlMakale çevirileri
|






Windows Live
Facebook
Twitter
Linkedin
Digg it
Yahoo
Delicious
StumbleUpon
Yammer
Reddit
Technorati
FriendFeed
Email



Üste