• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    軟件測試解析之帶你輕松的接觸用于元數據的 UTF8

    發布: 2009-10-12 09:36 | 作者: 不詳 | 來源: 領測軟件測試網采編 | 查看: 9次 | 進入軟件測試論壇討論

    領測軟件測試網

    軟件測試解析之帶你輕松的接觸用于元數據的 UTF8  軟件測試工具

    關鍵字:UTF8 元數據是“關于數據的數據”。描述數據庫的任何數據—作為數據庫內容的對立面—是元數據。因此,列名、數據庫名、用戶名、版本名以及從SHOW語句得到的結果中的大部分字符串是元數據。還包括INFORMATION_SCHEMA數據庫中的表中的內容,因為定義的那些表存儲關于數據庫對象的信息。 


    元數據表述必須滿足這些需求: 


    · 全部元數據必須在同一字符集內。否則,對INFORM一個TION_SCHEMA數據庫中的表執行的SHOW命令和SELECT查詢不能正常工作,因為這些運算結果中的同一列的不同行將會使用不同的字符集。 


    · 元數據必須包括所有語言的所有字符。否則,用戶將不能夠使用它們自己的語言來命名列和表。 


    為了滿足這兩個需求,MySQL使用Unicode字符集存儲元數據,即UTF8。如果你從不使用重音字符,這不會導致任何破壞。但如果你使用重音字符,應該注意的是元數據是用UTF8存儲。 


    這意味著,USER()、CURRENT_USER()、DATABASE()和VERSION()函數的返回值被 默認設置為UTF8字符集,這與同義函數如SESSION_USER() 和SYSTEM_USER()的結果相同。 


    服務器將character_set_system系統變量設置為元數據字符集的名: 


    mysql> SHOW VARIABLES LIKE ’character_set_system’;
     


    Variable_name       Value 
    character_set_system utf8
     

    存儲元數據使用Unicode并不意味著列頭和DESCRIBE函數的結果默認在character_set_system字符集中。當你使用SELECT column1 FROM t語句時,名字為column1的列從服務器返回客戶端并使用由SET NAMES語句確定的字符集。更明確地說,使用的字符集是由character_set_results系統變量的值確定的。如果這個系統變量設置為NULL,不執行字符轉換,服務器使用最初的字符集(字符集由character_set_system系統變量設置)返回元數據。 


    如果你希望服務器不使用UTF8字符集返回元數據結果,那么使用SET NAMES語句強制服務器執行字符集轉換或者在客戶端執行轉換。在客戶端執行轉換效率較高,但這種選項并不能使用于全部客戶端。 


    如果你正在一個語句中使用(例如)USER()函數進行比較或賦值,不要擔心。MySQL為你執行一些原子轉換。 


    SELECT * FROM Table1 WHERE USER() = latin1_column;
     


    這是可以的,因為在比較之前latin1_column列的內容會自動轉換到UTF8。 


    INSERT INTO Table1 (latin1_column) SELECT USER(); 

    這是可以的,因為賦值之前USER()函數返回的內容自動轉換為latin1。至今,自動轉換沒有全部實施,但是以后的版本中應該工作正常。 


    盡管自動轉換不屬于SQL標準,SQL標準化文檔中說每一個字符集是(根據支持的字符)Unicode的“子集”。因此,一個知名的原則是,“適用超集的字符集能夠應用于其子集”,我們相信Unicode的 校對規則能夠應用于非Unicode字符串的比較。 


    注釋:在MySQL5.1中,errmsg.txt文件全部使用UTF8?蛻舳俗址霓D換是自動進行的,如同元數據。  
     

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    TAG: 解析 軟件測試 數據


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>