mongodb中关于中文乱码问题的处理

经过几番处理,终于将这个问题解决了,以免其他mongodb使用者在由遇到相同问题时不知所措,特写下处理过程如下(感觉mongodb-user组的热心人士们):

测试代码如下

代码
1 namespace Test
2 {
3 class Program
4 {
5 static void Main(string[] args)
6 {
7 try
8 {
9 string conn = "mongodb://localhost";
10 MongoServer server = MongoServer.Create(conn);
11 MongoDatabase db = server.GetDatabase("bar");
12 MongoCollection persons = db.GetCollection("persons");
13 persons.RemoveAll();
14
15 #region mongodb新增测试
16 string chineseName = "李小龙";
17 BsonDocument person = new BsonDocument {
18 {"chineseName", chineseName},
19 {"englishName", "Bruce Lee"}
20 };
21
22 persons.Insert(person);
23
24 var found = persons.FindOneAs<BsonDocument>();
25 var nameInDatabase = found["chineseName"];
26 Console.WriteLine("the value are{0} equle", (nameInDatabase == chineseName) ? "":" not ");
27 #endregion
28 }
29 catch (Exception ex)
30 {
31 Console.WriteLine(ex.Message);
32 }
33 finally
34 {
35 Console.ReadKey();
36 }
37 }
38 }
39 }
40  

 

 

经过上面的插入,后台数据库中再次查询时就会出现乱码,但程序中确显示正常,这主要是因为cmd窗口的编码方式引起的,因为mongodb后台的字符编码都是utf-8的,所以修改cmd窗口的编码如下:

(1)chcp 65001

(2)选择“属性”中的字体,除“点阵字体”外所有的都行

再次运行就显示正常了。

 

 

posted @ 2010-12-02 14:00  赵天成  阅读(26010)  评论(7编辑  收藏  举报