如何在unix中显示注册商标符号®

时间:2011-03-16 13:39:05

标签: java unix

如何显示注册商标符号®unix环境。 在这个符号工作在窗口环境中,但它不工作unix环境。我在java文件中有段落。在windows环境下工作时显示此符号,但移动到不以格式(®)显示的unix(服务器)符号。 / p>

String str="stackoverflow ® ";

这是向客户发送电子邮件的消息。当在Windows中运行程序发送电子邮件格式正确时。但是在unix(服务器)中运行时发送的格式不正确。

这里有什么问题?

从窗口系统发送电子邮件时,显示格式正确的电子邮件。但不是unix系统。

实施例: original message =“stackoverflow®” 获取电子邮件=“ stackoverflowÿ”

这背后有什么反应?

2 个答案:

答案 0 :(得分:3)

  

发送电子邮件。

我怀疑问题在于您构建和/或发送邮件的方式;例如在您指定的内容类型/字符集中。但我们只能猜测,除非您发布相关代码......


正如@PaŭloEbermann建议的那样,如果您在代码中直接嵌入特殊字符,那么如果编译器使用错误的字符集/编码读取源代码,则可能会遇到编译问题。您可以通过使用Unicode转义完全避免这些问题;例如改变你的代码说:

    String message = "stackoverflow \u00AE";

而不是

    String message = "stackoverflow ®";

IMO,这是一个好主意......即使这不是造成问题的原因。

答案 1 :(得分:2)

正如Stephen C所说,一个可能的原因可能是电子邮件构建。

另一个可能的原因是编译 - 如果你没有指明别的东西,编译器会使用系统的默认字符集,并且这个默认字符集可能在windows和你的unix上有所不同系统

查看源文件是如何编码的,并将-encoding参数提供给编译器。

或者,要进行独立编码,您可以在源代码中编写\u00AE