2009-01-27 29 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体验中,更改字符集/排序规则足以使数据库国际化。我只有中文+英文数据库的经验,但在每次更改字符集/校对后都没有遇到任何问题。