我们在数据库中对一些文本进行数据驱动,例如产品名称等。最近,我们的营销团队要求我们显示带有特殊字符的产品名称,例如注册商标符号®,ascii代码174。
我的问题是,我们如何才能最好地将这个字符存储在我们的数据中,以便它能够以HTML格式和非HTML格式正确显示?起初,我们尝试过这样的事情:
update products_table set display_name = 'FooCorp' || chr(174) || ' Awesome Product' where product_id = 1;
当我在TOAD中查询该产品时,注册的商标符号会正确显示,但是当我们尝试在我们的webapp中查询并显示该文本时,Firefox和IE都不知道如何显示它。两者都显示“钻石与?”而不是符号。
接下来,我们这样做了:
update products_table set display_name = 'FooCorp® Awesome Product' where product_id = 1;
...这让我们的webapp很开心,但当然任何试图显示产品列表的非HTML(例如:生成报告的SQL查询)现在都会在名称中显示HTML字符。
任何人对如何满足HTML和非HTML世界都有任何想法?理想情况下,我们希望避免使用单独的列来复制文本,但如果这是唯一的方法,我们就可以走这条路。
答案 0 :(得分:0)
嗯,chr(174)可能意味着Oracle中的smth,但是当谈到Web浏览器时,他们可能有diff char。设置等...我不确定,但也许你只是简单地将该字符硬编码到你的查询中:
SELECT 'FooCorp® Awesome Product' FROM dual;