特殊字符数据库的存取问题
第一种方法就是replace 例如在入库的时候可以把(" ")换成( :) 把(/r/n)换成(<br>)
这样的话在自动帮定的时候就可以在数据控件中显示换行和空格了,但是要注意的是如果是自己写代码进行,要把数据显示在textbox lable等上面,就要注意了,要把它们替换过来即在用replace把数据库中的( :) 换成(" ") 把(<br>)换成(/r/n).
第二种方法就是Server.HtmlEncode("")处理了 入库用HtmlEncode(string) 例如Server.HTMLEncode("The paragraph tag: <P>")注意这个把空格都去掉了,在存入数据库的时候。在入库的时候用一下这个方法,在数据库中存储的就是The paragraph tag: <P> 和上面相同如果自动帮定的话它自动解码,显示为The paragraph tag: <P>。但是自己写代码也要转换了,这个可以用Server.HtmlDecode(string)来实现逆转。
感觉第二种方法好一点,但扩展性不好,第一种方法,自己可以把很多需要的写成一个方法,然后在调用!我留言板就只把空格和换行处理了,其他特殊字符都没处理,别人要是输入特殊字符的话,肯定要出问题的。看来还得改!总算找到个比较齐全的HTML常用特殊字符(http://writeblog.csdn.net/PostEdit.aspx)
HTML常用特殊字符
HTML 原代码 | 显示结果 | 描述 |
< | < | 小于号或显示标记 |
> | > | 大于号或显示标记 |
& | & | 可用于显示其它特殊字符 |
" | " | 引号 |
® | ® | 已注册 |
© | © | 版权 |
™ | ™ | 商标 |
  | 半个空白位 | |
  | 一个空白位 | |
| 不断行的空白 |
■ HTML特殊字符编码大全:往网页中输入特殊字符,需在html代码中加入以&开头的字母组合或以&#开头的数字。下面就是以字母或数字表示的特殊符号大全。
|
|||||||||
´ | ´ | © | © | > | > | µ | µ | ® | ® |
& | & | ° | ° | ¡ | ¡ | | » | » | |
¦ | ¦ | ÷ | ÷ | ¿ | ¿ | ¬ | ¬ | § | § |
• | • | ½ | ½ | « | « | ¶ | ¶ | ¨ | ¨ |
¸ | ¸ | ¼ | ¼ | < | < | ± | ± | × | × |
¢ | ¢ | ¾ | ¾ | ¯ | ¯ | " | " | ™ | ™ |
|
|||||||||
€ | € | £ | £ | ¥ | ¥ | ||||
|
|||||||||
„ | „ | … | … | · | · | › | › | ª | ª |
ˆ | ˆ | “ | “ | — | — | ’ | ’ | º | º |
† | † | ‹ | ‹ | – | – | ‚ | ‚ | ” | ” |
‡ | ‡ | ‘ | ‘ | ‰ | ‰ | | ­ | ˜ | ˜ |
|
|||||||||
≈ | ≈ | ⁄ | ⁄ | ← | ← | ∂ | ∂ | ♠ | ♠ |
∩ | ∩ | ≥ | ≥ | ≤ | ≤ | ″ | ″ | ∑ | ∑ |
♣ | ♣ | ↔ | ↔ | ◊ | ◊ | ′ | ′ | ↑ | ↑ |
↓ | ↓ | ♥ | ♥ | − | − | ∏ | ∏ | | ‍ |
♦ | ♦ | ∞ | ∞ | ≠ | ≠ | √ | √ | | ‌ |
≡ | ≡ | ∫ | ∫ | ‾ | ‾ | → | → | ||
|
|||||||||
α | α | η | η | μ | μ | π | π | θ | θ |
β | β | γ | γ | ν | ν | ψ | ψ | υ | υ |
χ | χ | ι | ι | ω | ω | ρ | ρ | ξ | ξ |
δ | δ | κ | κ | ο | ο | σ | σ | ζ | ζ |
ε | ε | λ | λ | φ | φ | τ | τ | ||
|
|||||||||
Α | Α | Η | Η | Μ | Μ | Π | Π | Θ | Θ |
Β | Β | Γ | Γ | Ν | Ν | Ψ | Ψ | Υ | Υ |
Χ | Χ | Ι | Ι | Ω | Ω | Ρ | Ρ | Ξ | Ξ |
Δ | Δ | Κ | Κ | Ο | Ο | Σ | Σ | Ζ | Ζ |
Ε | Ε | Λ | Λ | Φ | Φ | Τ | Τ | ς | ς |
|
要替换好多特殊字符了!
txt_content.Text = Server.HtmlEncode(txt_content.Text.Trim());这样替换的话,内容中的空格,换行都不见了,但是可以存~!·##%%……——*(())——》《?·@!#等字符了
txt_content.Text = txt_content.Text.Replace(" ", " ");
txt_content.Text = txt_content.Text.Replace("/r/n", "<br>");
txt_content.Text = Server.HtmlEncode(txt_content.Text.Trim());
这样也不行 因为它又会变会去直接用REPLACE算了,还是用REPLACE 慢慢替换吧