2009-01-27 47 views
1

我試圖用MySQL將dcm4chee(基於Java的開源醫學影像存儲與系統)國際化,並且有很多問題。使用DCM4CHEE進行MySQL國際化

這是我目前所知 1.我需要改變字符latin1和utf8的設置(支持所有國際字符)在MySQL 2.我敢肯定,我想設置的排序規則utf8_unicode_ci

以下是我需要知道的內容 1.我該怎麼做/我該做些什麼? a。可以對現有表格進行這些更改嗎? b。如果是這樣,我該怎麼做? c。在數據庫的整個生命週期中,這些更改是否只需要進行一次? d。所做的更改是否僅影響未來的條目或所有條目? 2.如何更改將來安裝的dcm4chee以使用utf8的默認值? 3.從我的研究看來,改變字符集和排序規則以使用足夠寬的字符集(utf8)是我爲了國際化MySQL所需要做的。這是真的?如果不是,我還需要做什麼?

謝謝,任何幫助,將不勝感激

回答

1

我不是專家,但我不得不改變我的過去的數據庫字符集/排序規則。

  1. a)您可以隨時對MySQL表進行更改。在進行更改之前備份數據庫。

    b)由Challenges that each developer faces every day SQL查詢:

    ALTER TABLE db_table CONVERT TO CHARACTER SET UTF8 COLLATE utf8_general_ci;

    c)應該只需要更換一次。如果創建新表格,請注意確保它們使用正確的字符集創建。

    d)更改會影響將來的/現有的條目(儘管如果由於先前的charset,舊錶項是垃圾字符而不是預期的UTF8字符,這種更改不會奇蹟般地將它們更改爲其預期狀態) 。

  2. 對不起,但我從來沒有使用dcm4chee。如果數據庫是預先構建的並與安裝捆綁在一起,那麼您將不得不更改捆綁的數據庫。如果在安裝軟件時創建數據庫,則必須找到源代碼的這一部分並更改「CREATE TABLE ...」SQL查詢,以便使用適當的字符集創建表。在每個源文件中搜索「CREATE TABLE」可能是一個好主意,確保沒有錯過。

  3. 在我有限的MySQL體驗中,更改字符集/排序規則足以使數據庫國際化。我只有中文+英文數據庫的經驗,但在每次更改字符集/校對後都沒有遇到任何問題。