CN105701074A - 一种字符处理方法和装置 - Google Patents
一种字符处理方法和装置 Download PDFInfo
- Publication number
- CN105701074A CN105701074A CN201610004549.7A CN201610004549A CN105701074A CN 105701074 A CN105701074 A CN 105701074A CN 201610004549 A CN201610004549 A CN 201610004549A CN 105701074 A CN105701074 A CN 105701074A
- Authority
- CN
- China
- Prior art keywords
- character
- text
- content
- processing method
- converted
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/151—Transformation
- G06F40/154—Tree transformation for tree-structured or markup documents, e.g. XSLT, XSL-FO or stylesheets
Abstract
本发明实施例提供一种字符处理方法,包括:从输入设备接收文本内容;识别所述文本内容中的第一字符;将所述第一字符转换为特殊字符串;将所述特殊字符串存储到数据库。该方法将现有数据库无法正确处理的特殊字符转换为字符串处理。该方法使得现有的基于MySQL早期版本的应用能够在不升级MySQL版本的基础上,正确存储和展示emoji字符,保证系统的稳定运行。同时提供一种相应的字符处理装置。
Description
技术领域
本发明涉及计算机技术领域,具体地,涉及一种字符处理方法和字符处理装置。
背景技术
随着互联网应用的普及,越来越多的用户喜欢在各种应用的输入文本中使用emoji符号(表情符号)来表达心情和想法。针对这种趋势,统一码联盟(UnicodeConsortium)为每个emoji符号创建了对应的unicode码。统一码联盟最新发布的Unicode8.0版本总共含有7716个脚本和符号。其中,emoji符号新增37个,另还有4个emoji表情得到了更改。除了食物、大型飞鸟之外,Unicode8.0还涉及到笑脸、宗教以及多种运动符号。
但对于使用MySQL的应用来说,新增的emoji符号可能造成数据库应用异常。这是因为5.6以下版本的MySQL数据库在使用UTF8字符集时最多使用三个字节存储emoji符号,导致部分emoji符号信息丢失。例如,目前苹果移动终端的操作系统支持新版的Unicode编码,导致客户通过苹果移动终端提交的京东反馈表(包含emoji符号)不能正确的保存和检索。
目前已有的一种处理emoji符号的解决方式是将用户提交的字符串过滤掉长度为4个字节的emoji符号,剩余字符串转换成新的字符串存储到数据库。此种方式导致emoji表情信息丢失。
另外一种处理emoji符号的解决方式是升级MySQL到5.6或更高版本,并且将数据库字符集切换至utf8mb4。这种方式虽然能够解决以后的emoji符号的存储问题,但是可能造成现有数据库中的数据乱码,MySQL的效率也可能随之降低。
发明内容
有鉴于此,本发明提供一种字符处理方法和处理装置,以解决上述问题。
根据本发明的第一方面,提供一种字符处理方法,包括:从输入设备接收文本内容;识别所述文本内容中的第一字符;将所述第一字符转换为特殊字符串;将所述特殊字符串存储到数据库。
优选地,所述识别所述文本内容中的第一字符包括:将所述文本内容由当前的编码格式转换为unicode编码格式;从所述unicode编码格式的文本内容中识别所述第一字符。
优选地,所述从unicode编码格式的文本内容中识别所述第一字符包括根据unicode码表通过正则表达式匹配获得所述第一字符。
优选地,所述当前编码格式包括UTF8、GBK2312。
优选地,所述特殊字符串包含当前的编码格式的所述第一字符。
优选地,所述第一字符为emoji字符。
优选地,所述第一字符为第一类型的emoji字符。
优选地,所述数据库为MySQL数据库。
优选地,还包括:从数据库中读取所述特殊字符串;将所述特殊字符串转换为第一字符。
根据本发明的第二方面,提供一种字符处理装置,包括:接收模块,用于从输入设备接收文本内容;识别模块,用于识别所述文本内容中的第一字符;第一转换模块,用于将所述第一字符转换为特殊字符串;存储模块,用于将所述特殊字符串存储到数据库。
优选地,所述识别模块包括:第一转换单元,用于将所述文本内容由当前的编码格式转换为unicode编码格式;判定单元,用于从所述unicode编码格式的文本内容中识别所述第一字符。
优选地,所述第一字符为emoji字符。
优选地,所述第一字符为第一类型的emoji字符。
优选地,所述数据库为MySQL数据库。
优选地,还包括:读取模块,用于从数据库中读取所述特殊字符串;第二转换模块,用于将所述特殊字符串转换为第一字符。
本发明实施例提供一种字符处理方法,包括:从输入设备接收文本内容;识别所述文本内容中的第一字符;将所述第一字符转换为特殊字符串;将所述特殊字符串存储到数据库。该方法将现有数据库无法正确处理的特殊字符转换为字符串处理。该方法使得现有的基于MySQL早期版本的应用能够在不升级MySQL版本的基础上,正确存储和展示emoji字符,保证系统的稳定运行。同时提供一种相应的字符处理装置。
附图说明
通过参照以下附图对本发明实施例的描述,本发明的上述以及其它目的、特征和优点将更为清楚,在附图中:
图1是根据本发明实施例的字符处理方法的流程图;
图2是根据本发明另一实施例的字符处理方法的流程图;
图3根据本发明实施例的从数据库中读取emoji字符的流程图;
图4是根据本发明实施例的字符处理装置的结构图。
具体实施方式
以下基于实施例对本发明进行描述,但是本发明并不仅仅限于这些实施例。在下文对本发明的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本发明。为了避免混淆本发明的实质,公知的方法、过程、流程没有详细叙述。另外附图不一定是按比例绘制的。
附图中的流程图、框图图示了本发明实施例的系统、方法、装置的可能的体系框架、功能和操作,流程图和框图上的方框可以代表一个模块、程序段或仅仅是一段代码,所述模块、程序段和代码都是用来实现规定逻辑功能的可执行指令。也应当注意,所述实现规定逻辑功能的可执行指令可以重新组合,从而生成新的模块和程序段。因此附图的方框以及方框顺序只是用来更好的图示实施例的过程和步骤,而不应以此作为对发明本身的限制。
图1是根据本发明实施例的字符处理方法的流程图。所述字符处理方法包括步骤101-步骤104。
在步骤101中,从输入设备接收文本内容。在本步骤中的输入设备可以是移动终端,例如手机、IPAD,也可以是固定终端,例如台式机。在本步骤的文本内容可以是表单收集的一部分,或即时通讯的对话信息。
在步骤102中,识别文本内容中的第一字符。在本步骤中,可以根据输入设备的字符集对第一字符的特征表述,将它们识别出来。在本实施例中,第一字符是指那些无法被当前数据库正常存储的符号,可能是一些表情符号,也可能是运动符号。系统的每一次升级,都可能会引进一些新的不能被当前数据库字符集正常处理的符号。例如,目前的一些需要4个字节存储的emoji符号,在低版本MySQL中不能正常存储。
在一个优选的实施例中,将文本内容由当前的编码格式转换为unicode编码格式,根据unicode码表通过正则表达式匹配从unicode编码格式的文本内容识别出第一字符。
在步骤103中,将第一字符转换为特殊字符串。在本步骤中,将第一字符转换为一些特殊形式字符串。在优选的方式中,上述特殊形式包含使用当前的编码格式编码的第一字符。例如,将utf8编码的emoji字符转换为形式如-*-1F601-*-的特殊字符串。其中“1F601”为utf8编码的emoji字符。此种方式的好处是在解析时,可以直接通过字符串截取方式获得原始编码emoji字符。
在步骤104中,将特殊字符串存储到数据库。由于emoji字符已经转换成特殊字符串,则在数据库存储时,会按照字符串形式存储该emoji字符,不会出现由于存储位数不足导致数据库存入异常的问题。
图2是根据本发明另一实施例的字符处理方法的流程图。具体包括步骤201-步骤205。
在步骤201中,从输入设备接收文本内容。在本步骤中的输入设备可以是移动终端包括手机、IPAD,也可以是固定终端,例如台式机。计算机应用通过提供的应用接口,接收到用户输入的文本内容。
在步骤202中,将文本内容转换为unicode编码。文本内容由当前文本内容的编码格式转换unicode编码格式,方便通过unicode码表进行比对。字符集的类库中提供各种编码格式转换的接口,使用这些接口能够很方便的完成编码方式转换。目前操作系统经常使用的编码格式包括UTF8、GBK2312等。
在步骤203中,根据unicode码表确定转换后的文本内容中是否包含第一类型的emoji字符。在本实施例中,所述第一类型的emoji字符特指那些不能被当前数据库正常存储和处理的emoji符号,例如4字节的emoji字符不能被MySQL5.6以下的版本正常存储。根据unicode码表可以很容易判断一个unicode符号如"4E25"是否为emoji字符。
在另一个替代的实施例中,步骤203针对转换后的文本内容进行无差别判断,识别其中的全部的emoji字符,后续将其全部转换为特殊字符串。
在步骤204中,将第一类型的emoji字符转换成特殊字符串。例如,将utf8编码的emoji字符转换为形式如-*-1F601-*-的特殊字符串。其中“1F601”为utf8编码的emoji字符。此种方式的好处是在解析时,可以直接通过字符串截取方式获得原始编码emoji字符。
在步骤205中,将特殊字符串存储到数据库。本步骤和图1中的步骤104相同,这里就不再赘述。
本领域的技术人员可以理解,数据库存储形式和数据库的字符集相关,因此从数据库中读取后,可能需要将字符集转换为应用程序和操作系统能够识别的字符集。但是通过字符串形式存储则不存在这个问题。对于目前流行的浏览器+服务器+数据库形式的计算机应用来说,将数据库无法处理的特殊字符转换为字符串可以在前端(浏览器)端实现,或者在服务器端实现。
图3根据本发明实施例的从数据库中读取emoji字符的流程图,包括步骤301-303。
在步骤301中,从数据库中获取特殊字符串。
在步骤302中,将特殊字符串转换为emoji字符。
在步骤303中,显示包含有emoji码的字符。
本发明实施例从数据库中读取特殊字符串,根据特殊字符串的编码格式,将特殊字符串转换为emoji字符,并在前端显示emoji字符。本领域的技术人员可以理解到,其他经过处理的特殊字符,也可以按照上述步骤读取和转换。
相应地,本发明实施例提供一种和上述方法对应的装置。图4是根据本发明实施例的字符处理装置的结构图。所述字符处理装置包括接收模块401、识别模块402、第一转换模块403和存储模块404。
接收模块401用于从输入设备接收文本内容;
识别模块402用于识别文本内容中的第一字符;
第一转换模块403用于将第一字符转换为特殊字符串;
存储模块404用于将特殊字符串存储到数据库。
进一步地,识别模块402包括:第一转换单元,用于将所述文本内容由当前的编码格式转换为unicode编码格式;判定单元,用于从所述unicode编码格式的文本内容中识别所述第一字符。
进一步地,所述第一字符为emoji字符。
进一步地,所述第一字符为第一类型的emoji字符。第一类型的emoji字符特指那些不能被当前数据库正常存储和处理的emoji符号,例如4字节的emoji字符不能被MySQL5.6以下的版本正常存储。
进一步地,所述数据库为MySQL数据库。
进一步地,上述字符处理装置还包括:读取模块,用于从数据库中读取所述特殊字符串;第二转换模块,用于将所述特殊字符串转换为第一字符。
本发明实施例提供一种字符处理方法,包括:从输入设备接收文本内容;识别所述文本内容中的第一字符;将所述第一字符转换为特殊字符串;将所述特殊字符串存储到数据库。该方法将现有数据库无法正确处理的特殊字符转换为字符串处理。该方法使得现有的基于MySQL早期版本的应用能够在不升级MySQL版本的基础上,正确存储和展示emoji字符,保证系统的稳定运行。
本领域技术人员可以理解,根据本发明的系统的各个模块或单元可以通过硬件、固件或软件实现。软件例如包括采用JAVA、C/C++/C#、SQL等各种编程语言形成的编码程序。虽然在方法以及方法图例中给出本发明实施例的步骤以及步骤的顺序,但是所述步骤实现规定的逻辑功能的可执行指令可以重新组合,从而生成新的步骤。所述步骤的顺序也不应该仅仅局限于所述方法以及方法图例中的步骤顺序,可以根据功能的需要随时进行调整。例如将其中的某些步骤并行或按照相反顺序执行。
根据本发明的系统和方法可以部署在单个或多个服务器上。例如,可以将不同的模块分别部署在不同的服务器上,形成专用服务器。或者,可以在多个服务器上分布式部署相同的功能单元、模块或系统,以减轻负载压力。所述服务器包括但不限于在同一个局域网以及通过Internet连接的多个PC机、PC服务器、刀片机、超级计算机等。
以上所述仅为本发明的优选实施例,并不用于限制本发明,对于本领域技术人员而言,本发明可以有各种改动和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (15)
1.一种字符处理方法,包括:
从输入设备接收文本内容;
识别所述文本内容中的第一字符;
将所述第一字符转换为特殊字符串;
将所述特殊字符串存储到数据库。
2.根据权利要求1所述的字符处理方法,其中,所述识别所述文本内容中的第一字符包括:
将所述文本内容由当前的编码格式转换为unicode编码格式;
从所述unicode编码格式的文本内容中识别所述第一字符。
3.根据权利要求2所述的字符处理方法,其中,所述从unicode编码格式的文本内容中识别所述第一字符包括根据unicode码表通过正则表达式匹配获得所述第一字符。
4.根据权利要求2所述的字符处理方法,其中,所述当前编码格式包括UTF8、GBK2312。
5.根据权利要求1所述的字符处理方法,其中,所述特殊字符串包含当前的编码格式的所述第一字符。
6.根据权利要求1所述的字符处理方法,其中,所述第一字符为emoji字符。
7.根据权利要求1所述的字符处理方法,其中,所述第一字符为第一类型的emoji字符。
8.根据权利要求1所述的字符处理方法,其中,所述数据库为MySQL数据库。
9.根据权利要求1所述的字符处理方法,还包括:
从数据库中读取所述特殊字符串;
将所述特殊字符串转换为第一字符。
10.一种字符处理装置,包括:
接收模块,用于从输入设备接收文本内容;
识别模块,用于识别所述文本内容中的第一字符;
第一转换模块,用于将所述第一字符转换为特殊字符串;
存储模块,用于将所述特殊字符串存储到数据库。
11.根据权利要求10所述的字符处理装置,其中,所述识别模块包括:
第一转换单元,用于将所述文本内容由当前的编码格式转换为unicode编码格式;
判定单元,用于从所述unicode编码格式的文本内容中识别所述第一字符。
12.根据权利要求10所述的字符处理装置,其中,所述第一字符为emoji字符。
13.根据权利要求10所述的字符处理方法,其中,所述第一字符为第一类型的emoji字符。
14.根据权利要求10所述的字符处理方法,其中,所述数据库为MySQL数据库。
15.根据权利要求10所述的字符处理装置,还包括:
读取模块,用于从数据库中读取所述特殊字符串;
第二转换模块,用于将所述特殊字符串转换为第一字符。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610004549.7A CN105701074A (zh) | 2016-01-04 | 2016-01-04 | 一种字符处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610004549.7A CN105701074A (zh) | 2016-01-04 | 2016-01-04 | 一种字符处理方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105701074A true CN105701074A (zh) | 2016-06-22 |
Family
ID=56226927
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610004549.7A Pending CN105701074A (zh) | 2016-01-04 | 2016-01-04 | 一种字符处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105701074A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106970900A (zh) * | 2017-03-26 | 2017-07-21 | 北京图文天地科技发展有限公司 | 一种兼容emoji表情符排版的方法 |
CN107204961A (zh) * | 2016-03-16 | 2017-09-26 | 阿里巴巴集团控股有限公司 | 接口报文中需转义字符的处理方法和装置 |
CN108256548A (zh) * | 2017-12-04 | 2018-07-06 | 北京大学 | 一种基于Emoji使用情况的用户画像刻画方法及系统 |
CN110941604A (zh) * | 2018-09-20 | 2020-03-31 | 北京国双科技有限公司 | 一种数据存储方法及装置 |
CN111353279A (zh) * | 2020-03-04 | 2020-06-30 | 海南金盘智能科技股份有限公司 | 字符编码的转换方法、装置和计算机存储介质 |
CN111401009A (zh) * | 2020-03-17 | 2020-07-10 | 深圳市随金科技有限公司 | 一种数字表情符识别转换方法、装置、服务器及存储介质 |
WO2020258492A1 (zh) * | 2019-06-28 | 2020-12-30 | 平安科技(深圳)有限公司 | 信息处理方法、装置、存储介质及终端设备 |
-
2016
- 2016-01-04 CN CN201610004549.7A patent/CN105701074A/zh active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107204961A (zh) * | 2016-03-16 | 2017-09-26 | 阿里巴巴集团控股有限公司 | 接口报文中需转义字符的处理方法和装置 |
CN106970900A (zh) * | 2017-03-26 | 2017-07-21 | 北京图文天地科技发展有限公司 | 一种兼容emoji表情符排版的方法 |
CN108256548A (zh) * | 2017-12-04 | 2018-07-06 | 北京大学 | 一种基于Emoji使用情况的用户画像刻画方法及系统 |
CN110941604A (zh) * | 2018-09-20 | 2020-03-31 | 北京国双科技有限公司 | 一种数据存储方法及装置 |
WO2020258492A1 (zh) * | 2019-06-28 | 2020-12-30 | 平安科技(深圳)有限公司 | 信息处理方法、装置、存储介质及终端设备 |
CN111353279A (zh) * | 2020-03-04 | 2020-06-30 | 海南金盘智能科技股份有限公司 | 字符编码的转换方法、装置和计算机存储介质 |
CN111401009A (zh) * | 2020-03-17 | 2020-07-10 | 深圳市随金科技有限公司 | 一种数字表情符识别转换方法、装置、服务器及存储介质 |
CN111401009B (zh) * | 2020-03-17 | 2024-03-01 | 深圳市铭墨科技有限公司 | 一种数字表情符识别转换方法、装置、服务器及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105701074A (zh) | 一种字符处理方法和装置 | |
CN108108342B (zh) | 结构化文本的生成方法、检索方法及装置 | |
CN107491477B (zh) | 一种表情符号搜索方法及装置 | |
US20170141791A1 (en) | Compression of javascript object notation data using structure information | |
US20050177626A1 (en) | System for storing and rendering multimedia data | |
US20120030375A1 (en) | Codepage-independent binary encoding method | |
US11328793B2 (en) | Accelerating genomic data parsing on field programmable gate arrays | |
CN111279335A (zh) | 基于文档结构提取检索多语言文档 | |
US10536162B2 (en) | Method and system to convert globally unique identifiers to electronic data interchange document identifiers | |
CN110728156A (zh) | 翻译方法、装置、电子设备及可读存储介质 | |
US10120843B2 (en) | Generation of parsable data for deep parsing | |
US10904177B2 (en) | Lossy text source coding by word length | |
WO2022116827A1 (en) | Automatic delineation and extraction of tabular data in portable document format using graph neural networks | |
US20170017643A1 (en) | Translation of locale specific text into another language | |
WO2019084187A1 (en) | PREDICTIVE ENGINE FOR DISCOVERY OF SEVERAL STEPS AND RECOMMENDATIONS FOR VISUAL ANALYSIS | |
CN110162309A (zh) | 参数校验方法及装置 | |
CN114841175A (zh) | 机器翻译方法、装置、设备及存储介质 | |
CN109992293B (zh) | Android系统组件版本信息的组装方法及装置 | |
CN115686229A (zh) | 表情输入方法、装置及计算机程序存储介质 | |
CN109426357B (zh) | 信息输入方法和装置 | |
WO2015195161A1 (en) | Encoding of plain ascii data streams | |
CN114189554B (zh) | 信息交互方法、装置及可读存储介质 | |
CN110866377A (zh) | 文本内容的转换方法及装置 | |
AU2018313995B2 (en) | Systems and methods for providing globalization features in a service management application interface | |
CN114491040B (zh) | 信息挖掘方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160622 |
|
RJ01 | Rejection of invention patent application after publication |