add enc2utf8 to solve unicode issue
diff --git a/R/add_footnote.R b/R/add_footnote.R
index 3e1b130..abb618a 100644
--- a/R/add_footnote.R
+++ b/R/add_footnote.R
@@ -99,6 +99,7 @@
label <- escape_latex(label)
label <- gsub("\\\\", "\\\\\\\\", label)
+ export <- enc2utf8(export)
table_info <- magic_mirror(input)
if (table_info$tabular == "longtable") {
if (notation != "number") {
diff --git a/R/add_header_above.R b/R/add_header_above.R
index 95e587d..e716b69 100644
--- a/R/add_header_above.R
+++ b/R/add_header_above.R
@@ -125,7 +125,7 @@
new_header <- paste0(new_header_split[1], "\n", new_header_split[2])
out <- sub(hline_type,
paste0(hline_type, "\n", new_header),
- as.character(kable_input))
+ enc2utf8(as.character(kable_input)))
out <- structure(out, format = "latex", class = "knitr_kable")
# new_header_row <- latex_contents_escape(new_header_split[1])
if (is.null(table_info$new_header_row)) {
diff --git a/R/add_indent.R b/R/add_indent.R
index 4ae84da..8932eaa 100644
--- a/R/add_indent.R
+++ b/R/add_indent.R
@@ -35,7 +35,7 @@
"add_indent_latex.")
}
- out <- kable_input
+ out <- enc2utf8(kable_input)
for (i in positions) {
rowtext <- table_info$contents[i + 1]
out <- sub(rowtext, latex_indent_unit(rowtext), out, perl = TRUE)
diff --git a/R/collapse_rows.R b/R/collapse_rows.R
index 3b13997..8ba1250 100644
--- a/R/collapse_rows.R
+++ b/R/collapse_rows.R
@@ -89,7 +89,7 @@
if (is.null(columns)) {
columns <- seq(1, table_info$ncol)
}
- out <- as.character(kable_input)
+ out <- enc2utf8(as.character(kable_input))
contents <- table_info$contents
kable_dt <- kable_dt_latex(contents)
collapse_matrix <- collapse_row_matrix(kable_dt, columns, html = F)
diff --git a/R/column_spec.R b/R/column_spec.R
index 3af165b..fc73b53 100644
--- a/R/column_spec.R
+++ b/R/column_spec.R
@@ -147,7 +147,8 @@
kable_align_new <- paste(table_info$align_vector, collapse = align_collapse)
- out <- sub(kable_align_old, kable_align_new, as.character(kable_input),
+ out <- sub(kable_align_old, kable_align_new,
+ enc2utf8(as.character(kable_input)),
perl = T)
out <- structure(out, format = "latex", class = "knitr_kable")
if (!is.null(width)) {
diff --git a/R/group_rows.R b/R/group_rows.R
index 47a02f0..1d848b7 100644
--- a/R/group_rows.R
+++ b/R/group_rows.R
@@ -85,7 +85,7 @@
group_rows_latex <- function(kable_input, group_label, start_row, end_row,
gap_space, escape) {
table_info <- magic_mirror(kable_input)
- out <- kable_input
+ out <- enc2utf8(as.character(kable_input))
if (escape) {
group_label <- escape_latex(group_label)
@@ -110,6 +110,7 @@
}
out <- sub(rowtext, new_rowtext, out)
out <- gsub("\\\\addlinespace\n", "", out)
+ out <- structure(out, format = "latex", class = "knitr_kable")
table_info$group_rows_used <- TRUE
attr(out, "kable_meta") <- table_info
out <- add_indent(out, seq(start_row, end_row))
diff --git a/R/kable_styling.R b/R/kable_styling.R
index 2a3248d..a33f820 100644
--- a/R/kable_styling.R
+++ b/R/kable_styling.R
@@ -187,7 +187,7 @@
repeat_header_method <- match.arg(repeat_header_method)
out <- NULL
- out <- as.character(kable_input)
+ out <- enc2utf8(as.character(kable_input))
table_info <- magic_mirror(kable_input)
if ("striped" %in% latex_options) {
diff --git a/R/landscape.R b/R/landscape.R
index 75d9255..fd7789e 100644
--- a/R/landscape.R
+++ b/R/landscape.R
@@ -28,7 +28,9 @@
kable_attrs <- attributes(kable_input)
usepackage_latex("pdflscape")
out <- paste0(
- "\n\\begin{landscape}", kable_input, "\n\\end{landscape}"
+ "\n\\begin{landscape}",
+ enc2utf8(as.character(kable_input)),
+ "\n\\end{landscape}"
)
if (!is.null(margin)) {
diff --git a/R/row_spec.R b/R/row_spec.R
index 060c27f..1d5d500 100644
--- a/R/row_spec.R
+++ b/R/row_spec.R
@@ -114,7 +114,8 @@
new_row <- paste0("\\\\rowcolor{", background, "} ", new_row)
}
- out <- sub(target_row, new_row, as.character(kable_input), perl = T)
+ out <- sub(target_row, new_row, enc2utf8(as.character(kable_input)),
+ perl = T)
out <- structure(out, format = "latex", class = "knitr_kable")
attr(out, "kable_meta") <- table_info
return(out)