Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
李少辉-开发者
gitlab-foss
提交
206230a4
G
gitlab-foss
项目概览
李少辉-开发者
/
gitlab-foss
通知
15
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
G
gitlab-foss
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
206230a4
编写于
5月 29, 2012
作者:
S
Saito
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
rewrite encode strategy.
上级
89043d6b
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
15 addition
and
11 deletion
+15
-11
lib/gitlab/encode.rb
lib/gitlab/encode.rb
+15
-11
未找到文件。
lib/gitlab/encode.rb
浏览文件 @
206230a4
# Patch Strings to enable detect_encoding! on views
require
'charlock_holmes/string'
module
Gitlab
module
Encode
module
Encode
extend
self
def
utf8
message
# return nil if message is nil
return
nil
unless
message
detect
=
CharlockHolmes
::
EncodingDetector
.
detect
(
message
)
rescue
{}
# if message is utf-8 encoding, just return it
message
.
force_encoding
(
"utf-8"
)
return
message
if
message
.
valid_encoding?
#
It's better to default to UTF-8 as sometimes it's wrongly detected as another charse
t
if
detect
[
:encoding
]
&&
detect
[
:confidence
]
==
100
CharlockHolmes
::
Converter
.
convert
(
message
,
detect
[
:encoding
],
'UTF-8'
)
else
message
end
.
force_encoding
(
"utf-8"
)
#
if message is not utf-8 encoding, detect and convert i
t
detect
=
CharlockHolmes
::
EncodingDetector
.
detect
(
message
)
if
detect
[
:encoding
]
&&
detect
[
:confidence
]
>
60
message
.
force_encoding
(
detect
[
:encoding
])
message
.
encode!
(
"utf-8"
,
detect
[
:encoding
],
:undef
=>
:replace
,
:replace
=>
""
,
:invalid
=>
:replace
)
end
# Prevent app from crash cause of
# encoding errors
message
.
valid_encoding?
?
message
:
raise
# Prevent app from crash cause of encoding errors
rescue
"--broken encoding:
#{
encoding
}
"
"--broken encoding:
#{
detect
[
:encoding
]
}
"
end
def
detect_encoding
message
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录