当前位置:  开发笔记 > 编程语言 > 正文

如何将UTF-8字符转换为ISO Latin 1?

如何解决《如何将UTF-8字符转换为ISOLatin1?》经验,为你挑选了1个好方法。

我需要将UTF-8商标标志转换为ISO Latin 1,并将其保存到数据库中,该数据库也是ISO Latin 1编码的.

我怎么能在java中这样做?

我尝试过类似的东西

String s2 = new String(s1.getBytes("ISO-8859-1"), "utf-8");

但它似乎不像我预期的那样工作.



1> Jon Skeet..:

Java中的字符串始终使用Unicode(UTF-16,有效).只有在尝试从文本转换为二进制编码时才需要转换,反之亦然.

涉及的角色是什么?你确定它甚至出现在ISO Latin 1中吗?如果是,我希望您的数据库存储该字符没有任何问题.没有"UTF-8商标标志"这样的东西.您可以使用"表示商标符号UTF-8编码的字节",但这可能是字节数组,而不是字符串.

编辑:如果你的意思是Unicode商标字符 U + 2122,那就超出了ISO-Latin-1的范围.有注册商标字符 U + 00AE,这是不一样的(无论是在外观上还是在法律意义上,IIRC)但可能总比没有好 - 如果你想使用它,那么只需使用:

string replaced = original.replace('\u2122', '\u00ae');


但<®>和<™>具有完全不同的含义.
推荐阅读
围脖上的博博_771
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有