1

我支持一个用 Tcl 编写的网站,它以繁体中文 (big5) 显示数据。然后我们有一个 Java servlet,使用 mandarintools.com 的翻译代码,将页面请求翻译成简体中文。指定到翻译代码的转换是从 UTF-8 到 UTF-8S;Java 显然正确地将数据转换为 UTF-8。

Java 翻译代码可以工作,但速度很慢,而且由于该网站是用 Tcl 编写的,因此另一个列表中的某个人建议我尝试使用它。不幸的是,Tcl 不支持 UTF-8S,我一直无法弄清楚用什么翻译来代替它。我已经尝试过 gb2312、gb2312-raw、gb1988、euc-cn ......都导致乱码。我的假设是 Tcl 也正在转换为 UTF-8,尽管我已经尝试先从 big5 转换它并没有帮助。

我的测试代码如下所示:

set page_body [ns_httpget http://www.mysite.com]
set translated_page_body [encoding convertto gb2312 $page_body]
ns_write $translated_page_body

我也试过

set page_body [ns_httpget http://www.mysite.com]
set translated_page_body [encoding convertto gb2312 [encoding convertfrom big5 $page_body]]
ns_write $translated_page_body

但这并没有改变什么。

有没有人有足够的经验来帮助我解决这个问题?

4

2 回答 2

1

仅供参考,为了完整起见,Tcl 专家告诉我,您不能以这种方式进行转换,必须通过字符替换来完成。

于 2009-07-03T18:06:40.493 回答
0

您是否有机会从 Oracle 获取数据?

如果是这样,请查看是否可以使用 CONVERT 函数将“utf8”转换为“al32utf8”,这是真正的 Utf8 标准,并且 Tcl 应该可以无缝使用。

如果没有,好吧,我想我会等你评论。

于 2009-06-23T14:16:13.310 回答