问题描述
问题如题,c#中string如何保存utf-8编码的字符串
解决方案
解决方案二:
自己用Encoding编码
解决方案三:
问题描述清楚,到底什么需求不要拿自己拍脑袋想的方案来问
解决方案四:
用Encoding试过了,还是不行,只要结果集放在string变量里就自动转换成unicode了。我自己需要组合字符串的,把组合后的字符串保存在数据库中,数据库编码是utf-8的,字符串中包含汉字。
解决方案五:
引用3楼lihao123456的回复:
用Encoding试过了,还是不行,只要结果集放在string变量里就自动转换成unicode了。我自己需要组合字符串的,把组合后的字符串保存在数据库中,数据库编码是utf-8的,字符串中包含汉字。
版主的意思是让你用的时候Encoding,不是让你先Encoding再保存到string
解决方案六:
可以试试把字符串转成base64编码字符串,再存入数据库,只是读取和存储都要解析!而且base64字符串大很多貌似!
解决方案七:
持久化在数据库的时候是utf-8有什么关系呢?你用的时候在转成你要的编码
解决方案八:
数据存进数据库,用utf8还是unicode还是什么存那是数据库决定的,通常提供给你的provider已经把这块复杂度给封装了,压根不需要你转码。你所谓自己组合字符串,除非你数据库里相应字段是存byte的,你用encoding转换为字节数组去存
解决方案九:
不知道楼主用的什么数据库正常转码应该是数据库客户端的工作吧只要你发送的字符串客户端能认识,它能把它正确的发送给服务端,能够正确的存放进数据库文件里去,你就不需要纠结这些问题了具体还是先试试到底存进去的是不是乱码再想如何解决吧
解决方案十:
引用8楼Z65443344的回复:
不知道楼主用的什么数据库正常转码应该是数据库客户端的工作吧只要你发送的字符串客户端能认识,它能把它正确的发送给服务端,能够正确的存放进数据库文件里去,你就不需要纠结这些问题了具体还是先试试到底存进去的是不是乱码再想如何解决吧
是出了问题才来提问的。。。
解决方案十一:
是用的第三方插件连接的mysql,保存到数据库后的汉字就会乱码。
解决方案十二:
我的处理过程是这样的,从mysql读入出字符串,(有汉字),在重新修改后,使用string来保存,使用第三方插件libmysql中的ExecuteNonQuery存入数据库后字符就会乱码,不知道你们有没有碰到过类似问题。