readme GBK编码问题
This commit is contained in:
parent
956531e8f1
commit
1a0de3752e
|
@ -55,7 +55,7 @@ module RepositoriesHelper
|
|||
def readme_render_decode64_content(str, owner, repo, ref, path)
|
||||
return nil if str.blank?
|
||||
begin
|
||||
content = Base64.decode64(str).force_encoding('UTF-8')
|
||||
content = Base64.decode64(content).force_encoding('UTF-8').valid_encoding? ? Base64.decode64(str).force_encoding('UTF-8') : Base64.decode64(str).force_encoding("GBK").encode("UTF-8")
|
||||
|
||||
c_regex = /\!\[.*?\]\((.*?)\)/
|
||||
src_regex = /src=\"(.*?)\"/
|
||||
|
@ -115,8 +115,7 @@ module RepositoriesHelper
|
|||
def new_readme_render_decode64_content(str, owner, repo, ref, readme_path, readme_name)
|
||||
file_path = readme_path.include?('/') ? readme_path.gsub("/#{readme_name}", '') : readme_path.gsub("#{readme_name}", '')
|
||||
return nil if str.blank?
|
||||
# content = Base64.decode64(str).encoding == Encoding::ASCII_8BIT ? Base64.decode64(str).force_encoding("GBK").encode("UTF-8"): Base64.decode64(str).force_encoding('UTF-8')
|
||||
content = Base64.decode64(str).force_encoding('UTF-8')
|
||||
content = Base64.decode64(content).force_encoding('UTF-8').valid_encoding? ? Base64.decode64(str).force_encoding('UTF-8') : Base64.decode64(str).force_encoding("GBK").encode("UTF-8")
|
||||
# s_regex = /\s\!\[.*?\]\((.*?)\)\s/
|
||||
s_regex_c = /`{1,2}[^`](.*?)`{1,2}/
|
||||
s_regex = /```([\s\S]*?)```[\s]?/
|
||||
|
@ -209,8 +208,8 @@ module RepositoriesHelper
|
|||
if is_readme?(entry['type'], entry['name'])
|
||||
Rails.logger.info("entry===#{entry["type"]} #{entry["name"]}")
|
||||
content = entry['content'].present? ? entry['content'] : Gitea::Repository::Entries::GetService.call(owner, repo.identifier, URI.escape(entry['path']), ref: ref)['content']
|
||||
# Rails.logger.info("Base64.decode64(content).encoding===#{Base64.decode64(content).encoding}")
|
||||
# return Base64.decode64(content).force_encoding("GBK").encode("UTF-8") if Base64.decode64(content).encoding == Encoding::ASCII_8BIT
|
||||
# Rails.logger.info("content===#{content}")
|
||||
return Base64.decode64(content).force_encoding("GBK").encode("UTF-8") unless Base64.decode64(content).force_encoding('UTF-8').valid_encoding?
|
||||
return Base64.decode64(content).force_encoding('UTF-8')
|
||||
else
|
||||
file_type = File.extname(entry['name'].to_s)[1..-1]
|
||||
|
|
Loading…
Reference in New Issue