【问题标题】:MySQL internationalization with DCM4CHEE使用 DCM4CHEE 实现 MySQL 国际化
【发布时间】:2010-10-03 21:08:11
【问题描述】:

我正在尝试使用 MySQL 将 dcm4chee(一个基于 Java 的开源医学影像存储系统)国际化,并且有很多问题。

这是我目前所知道的 1.我需要在MySQL中将字符集从latin1更改为utf8(以支持所有国际字符) 2. 我很确定我想将排序规则设置为 utf8_unicode_ci

这是我需要知道的 1. 我应该如何/何时做这些事情? 一种。可以对现有表进行这些更改吗? 湾。如果是这样,我该怎么做? C。在数据库的整个生命周期中,这些更改是否只需要进行一次? d。所做的更改会仅影响未来的条目还是所有条目? 2. 如何更改 dcm4chee 未来安装的默认值以使用 utf8? 3. 根据我的研究,更改字符集和排序规则以使用足够宽的字符集(utf8)似乎是我需要做的所有事情来国际化 MySQL。这是真的?如果没有,我还需要做什么?

谢谢,如有任何帮助,我们将不胜感激

【问题讨论】:

    标签: java mysql internationalization collation


    【解决方案1】:

    我不是专家,但过去我不得不更改数据库的字符集/排序规则。

    1. a) 您可以随时更改 MySQL 表。在进行更改之前备份您的数据库。

      b) 来自Challenges that each developer faces every day 的 SQL 查询:

      ALTER TABLE db_table 转换为 字符集 utf8 校对 utf8_general_ci;

      c) 应该只需要更改一次。如果创建新表,请注意确保使用正确的字符集创建它们。

      d) 更改将影响未来/现有条目(但如果由于先前的字符集,旧表条目是垃圾字符而不是预期的 UTF8 字符,则此更改不会神奇地将它们更改为预期状态)。

    2. 很抱歉,我从未使用过 dcm4chee。如果数据库是预先构建的并与安装捆绑在一起,那么您将不得不更改捆绑的数据库。如果在安装软件时构建了 db,则您必须找到源代码的这一部分并更改“CREATE TABLE...”SQL 查询,以便它使用适当的字符集创建表。在每个源文件中搜索“CREATE TABLE”可能是个好主意,以确保没有遗漏。

    3. 在我有限的 MySQL 经验中,更改字符集/排序规则足以使数据库国际化。我只有中文+英文数据库的经验,但每次更改字符集/排序规则后我都没有遇到任何问题。

    【讨论】:

      猜你喜欢
      • 2011-10-22
      • 1970-01-01
      • 1970-01-01
      • 2016-08-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-12
      • 2014-09-12
      相关资源
      最近更新 更多