MongoDB 个特殊字符
MongoDB special characters
我已将初始化文件插入 MongoDB:
db.User.insert({ "_id" : ObjectId("5589929b887dc1fdb501cdba"), "_class" : "com.smartinnotec.aposoft.dao.domain.User", "title" : "DI.", ... "address" : { "_id" : null, ... "country" : "Österreich" }})
如果我用 db.User.find() 调用这个条目,我会得到以下结果:
{ "_id" : ObjectId("5589929b887dc1fdb501cdba"), "_class" : "com.smartinnotec.aposoft.dao.domain.User", "title" : "DI.", ... "address" : { "_id" : null, ... "country" : "�sterreich" } }
带有特殊字符“�sterreich”的单词不正确。
有人知道我可以在 mongodb 中做什么来解决这个问题吗?
猜猜你可以在字符串中使用 HTML 代码
代码:
您可以使用 ö ; 将 spl 字符保存在数据库中。
db.User.insert({ "_id" : ObjectId("5589929b887dc1fdb501cdba"), "_class" : "com.smartinnotec.aposoft.dao.domain.User", "title" : "DI.", ... "address" : { "_id" : null, ... "country" : "österreich" }})
并且在使用 db.User.find() 调用此条目时,您将获得以下内容:
{ "_id" : ObjectId("5589929b887dc1fdb501cdba"), "_class" : "com.smartinnotec.aposoft.dao.domain.User", "title" : "DI.", ... "address" : { "_id" : null, ... "country" : "Österreich" } }
参考:
http://www.starr.net/is/type/htmlcodes.html
Replace multiple characters in a string in javascript
希望对您有所帮助。
JSON 和 BSON 只能编码/解码有效的 UTF-8 字符串,如果您的数据(包括输入)不是 UTF-8,则需要在将其传递给任何 JSON 之前对其进行转换依赖系统,像这样:
$string = iconv('UTF-8', 'UTF-8//IGNORE', $string); // or
$string = iconv('UTF-8', 'UTF-8//TRANSLIT', $string); // or even
$string = iconv('UTF-8', 'UTF-8//TRANSLIT//IGNORE', $string); // not sure how this behaves
我个人更喜欢第一个选项,请参阅 iconv()
手册页。其他备选方案包括:
mb_convert_encoding("奥地利", "UTF-8", "ISO-8859-1");
utf8_encode(utf8_decode($string))
您应该始终确保您的字符串是 UTF-8 编码的,即使是用户提交的字符串也是如此。
我已将初始化文件插入 MongoDB:
db.User.insert({ "_id" : ObjectId("5589929b887dc1fdb501cdba"), "_class" : "com.smartinnotec.aposoft.dao.domain.User", "title" : "DI.", ... "address" : { "_id" : null, ... "country" : "Österreich" }})
如果我用 db.User.find() 调用这个条目,我会得到以下结果:
{ "_id" : ObjectId("5589929b887dc1fdb501cdba"), "_class" : "com.smartinnotec.aposoft.dao.domain.User", "title" : "DI.", ... "address" : { "_id" : null, ... "country" : "�sterreich" } }
带有特殊字符“�sterreich”的单词不正确。
有人知道我可以在 mongodb 中做什么来解决这个问题吗?
猜猜你可以在字符串中使用 HTML 代码
代码:
您可以使用 ö ; 将 spl 字符保存在数据库中。
db.User.insert({ "_id" : ObjectId("5589929b887dc1fdb501cdba"), "_class" : "com.smartinnotec.aposoft.dao.domain.User", "title" : "DI.", ... "address" : { "_id" : null, ... "country" : "österreich" }})
并且在使用 db.User.find() 调用此条目时,您将获得以下内容:
{ "_id" : ObjectId("5589929b887dc1fdb501cdba"), "_class" : "com.smartinnotec.aposoft.dao.domain.User", "title" : "DI.", ... "address" : { "_id" : null, ... "country" : "Österreich" } }
参考:
http://www.starr.net/is/type/htmlcodes.html
Replace multiple characters in a string in javascript
希望对您有所帮助。
JSON 和 BSON 只能编码/解码有效的 UTF-8 字符串,如果您的数据(包括输入)不是 UTF-8,则需要在将其传递给任何 JSON 之前对其进行转换依赖系统,像这样:
$string = iconv('UTF-8', 'UTF-8//IGNORE', $string); // or
$string = iconv('UTF-8', 'UTF-8//TRANSLIT', $string); // or even
$string = iconv('UTF-8', 'UTF-8//TRANSLIT//IGNORE', $string); // not sure how this behaves
我个人更喜欢第一个选项,请参阅 iconv()
手册页。其他备选方案包括:
mb_convert_encoding("奥地利", "UTF-8", "ISO-8859-1");
utf8_encode(utf8_decode($string))
您应该始终确保您的字符串是 UTF-8 编码的,即使是用户提交的字符串也是如此。