我做的俄文网站在俄文操作系统下看是乱码,请帮助

来源:百度知道 编辑:UC知道 时间:2024/05/14 15:07:26
一个给俄罗斯人看得网站,用中文系统看没有问题,可是用俄文操作系统就出现乱码。
那位高手帮忙给解释一下,并给个解决方法

是不是这句话的原因
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
网站是用asp写的. 用了access的数据库
从后台递交给数据库的俄文打开access也是乱码?
前台从数据库里读出的数据也是乱码!

俄文是charset=iso-8859-5
这个问题我以前遇到过,后来也处理了。
我开发的是中、日、英版本,UTF-8版本,理论上支持任何语言版本。
开发环境:Win2000 server +Ms Sql Server 2000
具体方法如下:
1.转换数据库的字段类型如下:
text-->ntext
char-->nchar
varchar-->nvarchar

2.页面顶部加如下代码:
<%@codepage=65001%>
这行是保证你从数据库中读取和写入时,都是utf-8编码

3.页面的charset 设为utf-8

经过这样设置,应该就OK了,注意查询时有可能出错,
如原来查询时:"select abc from tbl1 where name like '%ddd%'"
要变为:"select abc from tbl1 where name like N'%ddd%'"

附:使用 Unicode 数据
Unicode 标准为全球商业领域中广泛使用的大部分字符定义了一个单一编码方案。所有的计算机都用单一的 Unicode 标准 Unicode 数据中的位模式一致地翻译成字符。这保证了同一个位模式在所有的计算机上总是转换成同一个字符。数据可以随意地从一个数据库或计算机传送到另一个数据库或计算机,而不用担心接收系统是否会错误地翻译位模式。

对于用一个字节编码每个字符的数据类型,存在的问题之一就是此数据类型只能表示 256 个不同的字符。这就迫使对于不同的字母表(例如相对较小的欧洲字母表)采用多重编码规格(或者代码页)。而且也不可能处理象日文汉字或韩国文字这样具有数千个字符的字母表。

每个 Microsoft® SQL Server™ 排序规则都有一个对表示 char、varchar 和 text 值中的每个字符定义位模式进行定义的代码页。可为个别的列和字符常量指派不同的代码页