如何显示注册商标符号®unix环境。 在这个符号工作在窗口环境中,但它不工作unix环境。我在java文件中有段落。在windows环境下工作时显示此符号,但移动到不以格式(®)显示的unix(服务器)符号。 / p>
String str="stackoverflow ® ";
这是向客户发送电子邮件的消息。当在Windows中运行程序发送电子邮件格式正确时。但是在unix(服务器)中运行时发送的格式不正确。
这里有什么问题?
从窗口系统发送电子邮件时,显示格式正确的电子邮件。但不是unix系统。
实施例: original message =“stackoverflow®” 获取电子邮件=“ stackoverflowÿ”
这背后有什么反应?
答案 0 :(得分:3)
发送电子邮件。
我怀疑问题在于您构建和/或发送邮件的方式;例如在您指定的内容类型/字符集中。但我们只能猜测,除非您发布相关代码......
正如@PaŭloEbermann建议的那样,如果您在代码中直接嵌入特殊字符,那么如果编译器使用错误的字符集/编码读取源代码,则可能会遇到编译问题。您可以通过使用Unicode转义完全避免这些问题;例如改变你的代码说:
String message = "stackoverflow \u00AE";
而不是
String message = "stackoverflow ®";
IMO,这是一个好主意......即使这不是造成问题的原因。
答案 1 :(得分:2)
正如Stephen C所说,一个可能的原因可能是电子邮件构建。
另一个可能的原因是编译 - 如果你没有指明别的东西,编译器会使用系统的默认字符集,并且这个默认字符集可能在windows和你的unix上有所不同系统
查看源文件是如何编码的,并将-encoding
参数提供给编译器。
或者,要进行独立编码,您可以在源代码中编写\u00AE
。