base64编码HTML编辑器文本以存储在数据库中

问题描述:

我正在处理已启动的Web项目,并注意到通过HTML编辑器生成的内容在存储到数据库之前使用base64编码。我想以前的开发人员是这样做的,以防万一用户编写了一些可能对数据库引擎未知的字符,我的意思是没有安装字符集的语言,但我想知道这是一种好的做法还是行为。base64编码HTML编辑器文本以存储在数据库中

这里的问题不是如何存储CLOB适合的罚款,但如何处理未知字符的一堆数据。

任何人都可以指出我存储通过HTML编辑器生成的HTML文本的正确方向吗?我真的不得不为此烦恼,或者只是假设我的数据库将支持任何语言字符集?

感谢

+0

为什么在安装DBMS时不选择正确的编码?即使Unicode字符集? – 2013-04-23 17:13:11

你需要做的就是确保HTML页面和数据库字符集有什么相同或数据库是html页面的一个超集。

一个好的网络程序员将确保web服务器和html内容具有相同的字符集。

Web服务器字符集设置在Web服务器的配置文件,例如Apache的,它是:

AddDefaultCharset windows-1252 

HTML页面的charset的meta标签定义为:

<meta http-equiv="content-type" content="text/html; charset=windows-1252"/> 

然后确保数据库支持相同的字符集或是超集。如果所有这些都很好,那么你就不需要将字符串转换为base64。

即使字符集不对,很有可能是不必要的转换为base64。

浏览器和网络服务器根据字符集转换字符。因此,例如,基本符号是utf8中的1个字符,在windows-1252中它变为6个字符:“&#8730”

我可以给出的最佳建议是检查db,web服务器和html页面中的charsets 。并使用html扩展字符进行测试。