报表知识库
特殊符号的处理
在实际项目开发过程中,当我们要用到一些特殊符号,如®时,总会遇到一些问题。下面列出一些常见的问题,并给出相应的解决办法。
问题1:
如果在HTML页面中要显示特殊符号®,由于®不能直接输入,此时需要用转义字符串®来代替输入此特殊符号。但在不同的页面编码中,使用方法的不同会造成乱码显示。
解决办法:
- 如果页面编码为UTF-8,可以直接复制输入®或输入转义字符串® ,
效果演示:
在编码为UTF-8的HTML源文件中,输入® =®,则显示为,
- 如果页面编码为GBK,一般用®代替输入该特殊字符。如果直接复制输入®,则会显示乱码。
效果演示:
页面编码改为GBK,输入® =®,如图,左边直接输入®不能正常显示,右边的替代则可。
问题2:
要在设计器报表中显示特殊符号®,在3.55版本中会显示乱码,在4.0及以上版本中调用润乾函数则可以正常显示此值。
解决办法:
- ®的ASCII值为174,单元格中调用润乾函数char(174),即可正常显示该特殊字符。
效果演示:
在A2单元格输入调用函数,
点击预览后,就可以看到正确显示该特殊符号,
- 要想在服务器上显示该特殊符号®,则页面编码应采用UTF-8,否则会出现乱码。
效果显示:
当在jsp中把页面编码改为其他,如GBK,显示效果如下,不能正常显示,
当页面编码采用UTF-8,显示效果如下,能正常显示该特殊字符,
问题3:
数据库字段中含有特殊符号®,要取出来在报表中显示的情况:
数据库编码为UTF-8时,可以直接存储特殊符号®,直接取出使用。
数据库编码为GBK等其他形式时,则需要存储为®字符串。
解决办法:
- 数据库字段中有这类特殊符号的,不论用哪种编码方式,都可以用页面中的符号®来代替。
- 还可以用润乾提供的函数(rplc)统一替换(适用于4.0版)。
- 也可以编写自定义函数批量替换,但会有些性能损失。
问题4:
报表单元格中我们需要的效果是直接显示®,但是若按照原字段格式显示,即直接输入®后,预览仍显示®;而不是需要的特殊字符。
解决办法:
设计器中右键该单元格,单击数据类型选项,选择数据类型为HTML,这时直接输入®,就能得到预期的结果。
效果演示:
原字段格式显示时,直接输入®,发布后结果如下,A2格仍直接显示®字符串。
把单元格数据类型改为HTML后,特殊符号®能正常显示。