2011-03-16 35 views
1

我必须创建sql函数,将特殊字符,国际字符(法语,中文...)转换为英文。如何在SQL查询中将外来字符转换为英文字符?

是否有任何SQL特殊功能,我可以得到?

感谢您的帮助。

+0

您正在使用哪些关系型数据库?您能否提供具体示例来说明您的要求? – 2011-03-16 22:03:35

+1

嗯......☃'的英文字符是什么? – 2011-03-16 22:03:51

+0

SQL Server 2008 我可以使用sql查询获取日语英语单词吗? – Harry 2011-03-16 22:13:42

回答

2

如果你的英文名中的字符后,这是一个可以实现的目标,因为他们都已经公布的名称为Unicode标准的一部分。

见例如:然后

你的任务是简单地把Unicode字符列表到表中10万行左右。不幸的是,你得到的名字将是ARABIC LIGATURE LAM WITH MEEM MEDIAL FORM

在另一方面,如果你想实际翻译的意思,你需要看的机器翻译软件。微软和谷歌都有着名的云翻译产品,还有其他几种深思熟虑的产品。

2

我认为简单的答案是,你不能,除非你缩小你的要求了很多。看来你想利用文本样本,A,并将其转换成文本罗马B.

有几个问题来解决:

  • 语言通常不罗马化单个字符的基础上。字符的正确发音是经常依赖于它周围的字符和单词,甚至还可以有特殊的规则,只是一个字(学习,因为它充满了这些英语可以是坚韧,有许多语言借词不归拼写)。

  • 即使你要还是支持你的每一种语言的代码规则有同形异义,词使用拼写完全相同的角色,但有不同的发音(因此罗马),取决于什么意思 - 例如“播种”意味着一头猪,或者“播种”(其中w是沉默的)意思是种植种子。

  • 然后,你会遇到什么语言是罗马化的问题:字符甚至字不是一种语言所特有的,但实际意义和罗马化可能会有所不同。许多语言包括来自这些语言的借阅单词,这些语言与他们共享字符的事实使任何试图自动确定您想要罗马化的语言的尝试变得复杂化。

考虑到所有这些困难,你究竟想要达到什么样的目标(你要解决什么问题)?

你提到要“转换”成英文的语言,英语,法语 - 法国尚(其重音字符)已经被写入了罗马字母。即使偶尔使用英语的日常用语偶尔也会使用重音字符,尽管这些字符非常罕见,即使它们被省略(例如简历)也能理解其意义和发音。

你的问题真的是你不能存储unicode /扩展ASCII?有许多方法可以纠正或解决这个问题。

相关问题