sql数据库保存阿拉伯文变成为问号,能解决加100
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql数据库保存阿拉伯文变成为问号,能解决加100相关的知识,希望对你有一定的参考价值。
注:网站是asp网站
保存到数据库文件属性是utf-8
这个代码也用过 <%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
有其他办法嘛?谢谢!
首先,确定在那个环节出先乱码。
是数据库本身的问题,还是在数据传输到数据库的时候出现的,
如果是前者,在重新配置一下数据库。
如果是后者,问题稍微复杂了,
有可能是得到数据的时候出现错误,这时,用你和回答者提到的语句应该能解决。
如果是在数据存进数据库的时候出错,请在数据库的连接字符串上加上字符集,具体的数据库不一样,建议百度。 参考技术B 我遇到过这种问题
1.要你全部asp文件用记事本打开,另存为 UTF-8格式
2. <%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%> 这个代码放在你每一个asp页面最上面。本回答被提问者采纳 参考技术C 在获取数据前加一句<% request.setCharacterEncoding("gb2312");%>试试。
另外对数据库进行操作的用dopost方法,不涉及到改变数据库的用doget方法。 参考技术D 先确定你得到的是不是正确的文字,存到数据库应该不会乱码,很有可能你存之前就是乱码的。你的数据时从哪里来的?是一个网页发到服务器或者另一个网页么?是不是用Net.HttpWebRequest发送的?我前两天就遇到过乱码的问题,发的时候是好的,收到就乱了。你是否也是类似问题?
为啥我的VS2010数据库输入的中文显示问号是怎么回事啊
写注册页面时,数据库接收到的中文全是问号,在页面显示出来的也是问号。。
哪位高手,帮帮忙啊
解决办法:
删除所有的输入法(包括美式键盘),只留下用的那个输入法比如搜狗,google等。只留一个,就好了。 参考技术A 第一种:
把你数据库的列类型改成 nvarchar 类型的,然后往数据库insert数据的时候前面要加一个N
如:insert into table1 values(N‘小明’) 。这样读出来的时候就不是乱码了。
第二种:
在页面head标签里写上
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />追问
第二种方法无效,数据库中只要是中文的还是问号,第一种有效,一直是nvarchar 类型,但是我是注册页面啊,用户名有时是中文有时是英文,加个N,不是办法呀。。。都不知道是什么问题了
追答那个部分中文和 英文, 都加N就可以了。 不会出乱码
哪国语言都一样 前面加N就可以了
我知道是这两个问题,可是要怎么做呢?大侠,有招没?
以上是关于sql数据库保存阿拉伯文变成为问号,能解决加100的主要内容,如果未能解决你的问题,请参考以下文章
记录:为何Java执行插入sql,保存进数据库的中文内容会自动变成问号?解决方案