小石頭
          Excellence in any department can be attained only by the labor of a lifetime; it is not to be purchased at a lesser price.
          posts - 91,comments - 22,trackbacks - 0
          經常有朋友問到Subversion是否可以對中文目錄進行權限控制,如果可以,該如何配置。

          經過測試,發現subversion是可以很好地控制中文目錄的權限的。

          方法很簡單,就是將你的權限控制文件的格式轉換為UTF-8格式,
          將權限文件改成UTF-8格式我使用的是UltraEdit的菜單"ASCII to UTF-8 (Unicode Editing)"。


          關于配置權限控制文件,請參考鄭新星發表的
          《Subversion之路--利用 svnserve.exe 實現精細的目錄訪問控制》
          http://www.iusesvn.com/bbs/viewt ... &extra=page%3D1

          有關中文目錄權限控制的討論,也可以參考
          http://www.iusesvn.com/bbs/viewt ... &extra=page%3D1

          增加您網站的流量。加入 Google AdWords
          ?引用 ?報告回復頂部
          鄭新星
          教導主任
          Rank: 8Rank: 8
          云在青天水在瓶


          原創先鋒獎 ?
          UID 2
          精華 2
          積分 3239
          帖子 120
          威望 57
          金錢 3112
          推廣積分 70
          閱讀權限 150
          注冊 2006-6-3
          來自 美麗的鷺島——廈門
          狀態 離線
          今晚抽空做了測試,部分結論如下:
          1 svn不支持微軟格式的UTF-8文件,不支持unicode,僅支持標準UTF-8,就是頭部有一個 FF FE的文件
          2 用微軟自帶的“記事本”編輯出來的任何unicode格式文件,svn均不認識
          3 只要使用了svn 支持的標準UTF-8文件,svn 就可以很好地實現對中文的支持,包括中文用戶名、中文目錄、中文組名

          現在有個小問題,我新建一個文件只有一個“1”這個字符,然后用UltraEdit查看其UTF-8格式(狀態條提示U8-DOS格式)和UNICODE格式(狀態條提示U-DOS格式),兩者完全一樣,看不出區別,不知道究竟區別何在?

          ?引用 ?報告回復頂部
          鄭新星
          教導主任
          Rank: 8Rank: 8
          云在青天水在瓶


          原創先鋒獎 ?
          UID 2
          精華 2
          積分 3239
          帖子 120
          威望 57
          金錢 3112
          推廣積分 70
          閱讀權限 150
          注冊 2006-6-3
          來自 美麗的鷺島——廈門
          狀態 離線
          查資料說,對于UTF-8文件,應該是 EF BB BF 31,而對于UNICODE文件,應該是 FF FE 00 31
          難道是Ultraedit顯示的二進制格式,是經過加工的,而不是最原始的?

          還有,為什么微軟的“記事本”出來的UTF-8格式,會有兩個FF FE FF FE呢?

          ?引用 ?報告回復頂部
          PCplayer
          教導主任
          Rank: 8Rank: 8


          UID 3
          精華 7
          積分 5870
          帖子 1573
          威望 291
          金錢 5522
          推廣積分 57
          閱讀權限 150
          注冊 2006-6-3
          狀態 在線

          用支付寶求購
          我試了一下,在UltraEdit中
          不管UTF-8還是Unicode都是FF FE 31 00
          對于微軟的“記事本”,經常是有問題的,現在都不敢相信它,只相信UltraEdit
          ?引用 ?報告回復頂部
          鄭新星
          教導主任
          Rank: 8Rank: 8
          云在青天水在瓶


          原創先鋒獎 ?
          UID 2
          精華 2
          積分 3239
          帖子 120
          威望 57
          金錢 3112
          推廣積分 70
          閱讀權限 150
          注冊 2006-6-3
          來自 美麗的鷺島——廈門
          狀態 離線
          晚上寫了個小程序測試了一下,終于弄懂了UltraEdit弄出來的UTF8格式,和微軟弄出來的UTF8格式之間的區別了

          比如說一個文本文件內容是“1啊”兩個字符:
          對于 GBK編碼:31 B0 A1
          對于unicode UCS-2 編碼(不論記事本還是Ultaedit): ff fe 31 00 4a 55 (在Ultraedit二進制下看到的是一樣的)
          對于UltraEdit的“UTF8(unicode editing)” 的編碼: 31 e5 95 8a (在Ultraedit下看到的是 FF FE 31 00 4A 55)
          對于微軟“記事本”另存為出來的UTF8的編碼:??ef bb bf 31 e5 95 8a??(在Ultraedit下看到的是 FF FE FF FE 31 00 4A 55)

          可以看出來,微軟的UTF8編碼其實是符合標準的,因為 ef bb bf 這三個字節,正好就是 FF FE 的UTF8編碼。也就是說,看來是我們冤枉微軟了,一直以為是Ultraedit出來的utf8標準而微軟“記事本”出來的utf8不標準,其實正好相反。
          參見 ultraedit forum

          看來我手頭的 UE9.0 是個很老的版本了。

          現在就剩下一個問題:為什么svn不支持標準utf8,無法識別BOM呢?
          ?引用 ?報告回復頂部
          PCplayer
          教導主任
          Rank: 8Rank: 8


          UID 3
          精華 7
          積分 5870
          帖子 1573
          威望 291
          金錢 5522
          推廣積分 57
          閱讀權限 150
          注冊 2006-6-3
          狀態 在線

          用支付寶求購
          強,這種鉆研精神我要好好學習先!
          另外我要找找UTF-8等編碼的標準文檔。
          ?引用 ?報告回復頂部
          鄭新星
          教導主任
          Rank: 8Rank: 8
          云在青天水在瓶


          原創先鋒獎 ?
          UID 2
          精華 2
          積分 3239
          帖子 120
          威望 57
          金錢 3112
          推廣積分 70
          閱讀權限 150
          注冊 2006-6-3
          來自 美麗的鷺島——廈門
          狀態 離線
          下面摘自??http://xiushen.com/blog/read.php/114.htm ,說明了BOM的存在對PHP腳本的影響

          QUOTE:
          如果您在修改任何PHP文件后發生:

          ??* 不能登入或者不能登出;
          ??* 頁頂出現一條空白;
          ??* 頁頂出現錯誤警告;
          ??* 其它不正常的情況。
          則多半是編輯器的問題。

          本程序采用UTF-8編碼。現在幾乎所有的文本編輯軟件都可以顯示并編輯UTF-8編碼的文件。但是很遺憾,其中很多軟件的表現并不理想。

          類似WINDOWS自帶的記事本等軟件,在保存一個以UTF-8編碼的文件時,會在文件開始的地方插入三個不可見的字符(0xEF 0xBB 0xBF,即BOM)。它是一串隱藏的字符,用于讓記事本等編輯器識別這個文件是否以UTF-8編碼。對于一般的文件,這樣并不會產生什么麻煩。但對于 PHP來說,BOM是個大麻煩。

          PHP并不會忽略BOM,所以在讀取、包含或者引用這些文件時,會把BOM作為該文件開頭正文的一部分。根據嵌入式語言的特點,這串字符將被直接執行(顯示)出來。由此造成即使頁面的 top padding 設置為0,也無法讓整個網頁緊貼瀏覽器頂部,因為在html一開頭有這3個字符呢!

          最大的麻煩還不是這個。受COOKIE送出機制的限制,在這些文件開頭已經有BOM的文件中,COOKIE無法送出(因為在COOKIE送出前PHP已經送出了文件頭),所以登入和登出功能失效。一切依賴COOKIE、SESSION實現的功能全部無效。

          因此,在編輯、更改任何文本文件時,請務必使用不會亂加BOM的編輯器。Linux下的編輯器應該都沒有這個問題。WINDOWS下,請勿使用記事本等編輯器。推薦的編輯器是: Editplus 2.12版本以上; EmEditor; UltraEdit(需要取消‘添加BOM’的相關選項); Dreamweaver(需要取消‘添加BOM’的相關選項)等。

          對于已經添加了BOM的文件,要取消的話,可以用以上編輯器另存一次。(Editplus需要先另存為gb,再另存為UTF-8。)

          下面一段摘自 http://forums.mozine.org/index.php?showtopic=556 ,說明了BOM對 mozilla 插件制作過程中對BOM的要求:

          QUOTE:
          選擇編輯器

          要編輯中文語言檔案,你必需要有合適的編輯器。Mozilla 有些特定的文件格式要求,所以你的編輯器最少要有以下的功能:

          1. 支援 UTF-8 文字檔型
          2. 可選擇文件是否要有萬國碼檔案簽名 BOM (Byte Order Mark, U+FEFF)
          3. 支援逸出萬國碼 (escaped Unicode,\uXXXX) 的文字編碼

          可惜的是在 Windows 2000 與 XP 上的 Notepad 沒有第二項的支持,所以你必須用其它的編輯器。以下是一些建議:

          1. UniRed : freeware,很好用
          2. SC UniPad: 測試版有字元數限制,正式版太貴了,功能好但可能不適用。

          這些程序的使用請參見 Mozilla 地方化的工具。



          QUOTE:
          2. .dtd 文件是 UTF-8 格式,注意 .dtd 文件不得有 BOM 開頭字元

          總結:自由軟件領域,好像對BOM都非常不適應,而svn的作者可能是覺得沒必要處理BOM也可以正確處理UTF-8文檔,所以就這么干了。只是比較郁悶的是,我無法使用我最愛的編輯器了:記事本


          附件 : [前述將文件頭部內容導出查看的小程序,它會打印出頭10個字節的內容] dumphex.rar (2006-7-6 13:01, 18.39 K)
          該附件被下載次數 101
          ?引用 ?報告回復頂部
          ekylin
          小學生
          Rank: 1



          UID 79
          精華 0
          積分 4
          帖子 1
          威望 0
          金錢 4
          推廣積分 0
          閱讀權限 10
          注冊 2006-8-4
          狀態 離線
          發表于 2006-8-4 11:33? 資料文集短消息?
          版主,http apache 認證方式無法識別中文啊?
          ?引用 ?報告回復頂部
          PCplayer
          教導主任
          Rank: 8Rank: 8


          UID 3
          精華 7
          積分 5870
          帖子 1573
          威望 291
          金錢 5522
          推廣積分 57
          閱讀權限 150
          注冊 2006-6-3
          狀態 在線

          用支付寶求購
          中文是可以識別的
          請樓上的詳細描述你的問題
          ?引用 ?報告回復頂部
          小宇
          班主任
          Rank: 7Rank: 7Rank: 7


          UID 396
          精華 0
          積分 132
          帖子 86
          威望 16
          金錢 116
          推廣積分 0
          閱讀權限 100
          注冊 2006-10-17
          狀態 離線
          打個標記先~把基礎問題解決了再來研究~
          看了教導主任的帖子
          有種不敢說話的感覺……
          ?引用 ?報告回復頂部
          PCplayer
          教導主任
          Rank: 8Rank: 8


          UID 3
          精華 7
          積分 5870
          帖子 1573
          威望 291
          金錢 5522
          推廣積分 57
          閱讀權限 150
          注冊 2006-6-3
          狀態 在線

          用支付寶求購
          回復 #10 小宇 的帖子

          悄悄地問一下:為什么不敢說話
          ?引用 ?報告回復頂部
          szhuiwang
          初中生
          Rank: 2



          UID 103
          精華 1
          積分 51
          帖子 8
          威望 12
          金錢 39
          推廣積分 0
          閱讀權限 20
          注冊 2006-8-9
          狀態 離線
          發表于 2006-11-1 17:09? 資料文集短消息?
          SVN可以對中文目錄設置權限,卻不能對中文庫設置權限.是什么原因?(服務器端是Linux操作系統)
          ?引用 ?報告回復頂部
          rolkey
          小學生
          Rank: 1



          UID 584
          精華 0
          積分 1
          帖子 1
          威望 0
          金錢 1
          推廣積分 0
          閱讀權限 10
          注冊 2006-11-20
          狀態 離線
          發表于 2006-11-20 09:37? 資料文集短消息?
          大家的UltraEdit是哪個版本啊?我這個10.20只有轉換成unicode的功能,沒有轉換成UTF-8的功能,不知道在哪里設置啊?
          ?引用 ?報告回復頂部
          PCplayer
          教導主任
          Rank: 8Rank: 8


          UID 3
          精華 7
          積分 5870
          帖子 1573
          威望 291
          金錢 5522
          推廣積分 57
          閱讀權限 150
          注冊 2006-6-3
          狀態 在線

          用支付寶求購
          回復 #13 rolkey 的帖子

          我的是v11




          posted on 2007-03-04 17:14 小石頭 閱讀(1669) 評論(1)  編輯  收藏 所屬分類: Subversion

          FeedBack:
          # re: Subversion是否可以控制中文目錄的訪問權限?可以!
          2007-08-28 22:13 | zinsser
          將權限控制文件的格式轉換為UTF-8格式,為什么在svnmanager中還是不能對中文目錄控制?  回復  更多評論
            
          主站蜘蛛池模板: 金堂县| 东方市| 钟山县| 岚皋县| 搜索| 自贡市| 石楼县| 平遥县| 石首市| 仪征市| 和龙市| 白水县| 琼中| 松桃| 山丹县| 岚皋县| 大足县| 绵竹市| 象山县| 漾濞| 永川市| 东明县| 濉溪县| 荃湾区| 汶上县| 宁河县| 松滋市| 司法| 安义县| 新晃| 绥芬河市| 平谷区| 武平县| 喜德县| 大同市| 金湖县| 诏安县| 南召县| 安陆市| 崇州市| 潮安县|