数据库存储外国人名字中的点出问题了

2016-11-08 12:11:22 +08:00
 demonchang

俄罗斯军事专家瓦西里·卡申在为卫星网撰写的文章中就这种新型主战坦克的能力进行了评述

比如上面的那句话。里面有句点。然后我采集的时候存入数据库的时候就不行。。。

我的 mysql 数据库编码 utf8mb4

新闻网连接 http://news.qq.com/a/20161108/010304.htm

4313 次点击
所在节点    MySQL
9 条回复
imn1
2016-11-08 13:18:50 +08:00
自己看看源代码吧
<script>
var sosoArticleKey = document.getElementById("sosoArticlKey"), sosoArticleValue = '';
if(sosoArticlKey){
sosoArticleKey.value = sosoArticlKey.replace("&#183;","·");
sosoArticleKey.value = sosoArticlKey.replace("&#23301;","嬅");
sosoArticleKey.value = sosoArticlKey.replace("&#23323;","嬛");
sosoArticleKey.value = sosoArticlKey.replace("&#22247;","囧");
sosoArticleKey.value = sosoArticlKey.replace("&#38229;","镕");

sosoArticleValue = sosoArticleKey.value;
}
sosoArticleKey.onfocus = function(){
if(sosoArticleKey.value == sosoArticleValue){
sosoArticleKey.value = '';
}
}
sosoArticleKey.onblur = function(){
if(sosoArticleKey.value == ''){
sosoArticleKey.value = sosoArticleValue;
}
}
</script>
kideny
2016-11-08 15:11:50 +08:00
哈哈,这个问题神烦。
身份证里面名字带点,我也遇到过。
kideny
2016-11-08 15:12:29 +08:00
对字段内容进行过滤的时候,也烦这个事情。
demonchang
2016-11-08 16:37:58 +08:00
我现在解决方案就是存入了原文中的 `&#183;` 这个字符。这样就可以存进去了
imn1
2016-11-08 16:59:19 +08:00
主要问题是 gbk 没有这个字符,但 unicode/utf-8 有。所以纯显示没问题,但转码就不能一句完成,如果你想把原字符也存进数据库,需要后台程序先转换“&#183;”
xmoiduts
2016-11-09 12:27:23 +08:00
23333 写 py 脚本的时候也遇到了这个问题,后来干脆不管了,直接显示为问号。
demonchang
2016-11-09 12:44:10 +08:00
@xmoiduts 这也行。。。哈哈哈
5 楼说的对。数据库要想存元自负。需要各种转换先
demonchang
2016-11-09 12:44:38 +08:00
元自负 -> 原字符
xmoiduts
2016-11-09 13:02:35 +08:00
@demonchang 反正就是个 调 ffmpeg 转格式的脚本,拖动即转码。自己玩玩没啥要求😂

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/318954

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX