sql server 存储特殊符号乱码问题

时间:2024-04-09 15:42:03

开发的邮件客户端,当保存的邮件内容是德文时,其中有一些符号:
Einen schönen Tag noch
会变成问号:
Einen sch?nen Tag noch
最初以为是sql server 的排序规则出了问题,百度看到又说改成utf-8或者改成unicode,想想确实在理,就动手改了:
选中当前使用的库,右键属性,
sql server 存储特殊符号乱码问题
选项,修改排序规则,打开一看,乖乖,这么多!
sql server 存储特殊符号乱码问题
从上往下翻,我却没有找到网上说的以utf-8或者unicode结尾的规则,难道是我sql版本的问题?
不管了,既然这个办法行不通,那就再找其他的方法吧。
有一位老哥(姐)说到是字段类型的问题,保存特殊符号得用nvarchar,而我在这里使用的是varchar和text,我修改了字段类型,一试,果然成了!
PS:之前再定义字段类型的时候,我就纠结过到底是用nvarchar(max)还是用text,当时只是看到说text是一个即将被淘汰的类型,建议使用nvarchar,不过再跟同时沟通后还是选择了text。今天遇到这个问题,我想这也可能是要优先选择nvarchar而非text的一个原因吧。