rstudio / distill

Distill for R Markdown
https://rstudio.github.io/distill/
Apache License 2.0
422 stars 57 forks source link

Error in read_xml.character(rss_path) : Input is not proper UTF-8, indicate encoding ! #336

Open Yedomon opened 3 years ago

Yedomon commented 3 years ago

Hello Dear Distill Maintainer,

Thanks again for this package. I was able to set up and deploy my blog website. However, I encountered this issue when writing a blog today.

See:

Error in read_xml.character(rss_path) : 
  Input is not proper UTF-8, indicate encoding !
Bytes: 0xE9 0x76 0x72 0x2E [9]
Calls: <Anonymous> ... write_feed_xml -> <Anonymous> -> read_xml.character
Furthermore : Warning messages:
1: In (function (category = "LC_ALL", locale = "")  :
  the OS request to specify the location to "en_US.UTF-8" could not be honored
2: In (function (category = "LC_ALL", locale = "")  :
  the OS request to specify the location to "en_US.UTF-8" could not be honored
3: In (function (category = "LC_ALL", locale = "")  :
  the OS request to specify the location to "en_US.UTF-8" could not be honored
Execution stopped

I checked my R environment and everything is set in UTF-8 encoding.

Here is the Github link for the site ---> https://github.com/Yedomon/My-website

Here is the deployed website ---> https://yedomon.netlify.app/

Here is the whole compilation error in a french R environment


|.......................                                               |  33%
  ordinary text without R code

  |...............................................                       |  67%
label: setup (with options) 
List of 1
 $ include: logi FALSE

processing file: corehunter3-core-collection-inference-with-phenotypic-data.Rmd
  |......................................................................| 100%
  ordinary text without R code

output file: corehunter3-core-collection-inference-with-phenotypic-data.knit.md

"C:/Program Files/RStudio/bin/pandoc/pandoc" +RTS -K512m -RTS corehunter3-core-collection-inference-with-phenotypic-data.utf8.md --to html5 --from markdown+autolink_bare_uris+tex_math_single_backslash --output corehunter3-core-collection-inference-with-phenotypic-data.html --lua-filter "C:\Users\ange_\OneDrive\Documents\R\win-library\4.0\rmarkdown\rmarkdown\lua\pagebreak.lua" --lua-filter "C:\Users\ange_\OneDrive\Documents\R\win-library\4.0\rmarkdown\rmarkdown\lua\latex-div.lua" --standalone --variable toc-float=1 --highlight-style "C:\Users\ange_\OneDrive\Documents\R\win-library\4.0\distill\rmarkdown\templates\distill_article\resources\arrow.theme" --template "C:\Users\ange_\OneDrive\Documents\R\win-library\4.0\distill\rmarkdown\templates\distill_article\resources\default.html" "--metadata=link-citations:true" --include-in-header "C:\Users\ange_\AppData\Local\Temp\RtmpI7Lx9Y\file259863752f27html" --include-in-header "C:\Users\ange_\AppData\Local\Temp\RtmpI7Lx9Y\file25981e2f3cdfhtml" --include-in-header "C:\Users\ange_\AppData\Local\Temp\RtmpI7Lx9Y\file259877f23f19html" --include-in-header "C:\Users\ange_\AppData\Local\Temp\RtmpI7Lx9Y\file259839cchtml" --include-in-header "C:\Users\ange_\AppData\Local\Temp\RtmpI7Lx9Y\file25982c5f373dhtml" --include-before-body "C:\Users\ange_\AppData\Local\Temp\RtmpI7Lx9Y\file25987f4335html" --include-before-body "C:\Users\ange_\AppData\Local\Temp\RtmpI7Lx9Y\file2598dc51a22html" --include-before-body "C:\Users\ange_\AppData\Local\Temp\RtmpI7Lx9Y\file2598eaa5208html" --include-after-body "C:\Users\ange_\AppData\Local\Temp\RtmpI7Lx9Y\file25986e1e47b8html" --include-after-body "C:\Users\ange_\AppData\Local\Temp\RtmpI7Lx9Y\file259836876ae8html" --include-after-body "C:\Users\ange_\AppData\Local\Temp\RtmpI7Lx9Y\file2598489217e3html" --include-in-header "C:\Users\ange_\AppData\Local\Temp\RtmpI7Lx9Y\rmarkdown-str2598469b13ec.html" --mathjax --variable "mathjax-url:https://mathjax.rstudio.com/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" --include-in-header "C:\Users\ange_\AppData\Local\Temp\RtmpI7Lx9Y\file2598243d298ahtml" 
Error in read_xml.character(rss_path) : 
  Input is not proper UTF-8, indicate encoding !
Bytes: 0xE9 0x76 0x72 0x2E [9]
Calls: <Anonymous> ... write_feed_xml -> <Anonymous> -> read_xml.character
De plus : Warning messages:
1: In (function (category = "LC_ALL", locale = "")  :
  la requête OS pour spécifier la localisation à "en_US.UTF-8" n'a pas pu être honorée
2: In (function (category = "LC_ALL", locale = "")  :
  la requête OS pour spécifier la localisation à "en_US.UTF-8" n'a pas pu être honorée
3: In (function (category = "LC_ALL", locale = "")  :
  la requête OS pour spécifier la localisation à "en_US.UTF-8" n'a pas pu être honorée

Thank you for your guidance

Yedomon

cderv commented 3 years ago

You did not share the version you are using, are you using the last version of distill ? We fixed already several things regarding encoding, you should be sure to check with last CRAN version, and last Dev version.

Thanks.

Yedomon commented 3 years ago

I am using distill v1.2 as shown on the attached screenshot. version

I reinstalled distill again but I got the same error message.

cderv commented 3 years ago

Thanks. Would you be able to try the development version ?

remotes::install_github("rstudio/distill")

That would help us see if this is still an issue. Thanks

Yedomon commented 3 years ago

I have installed the github version by doing:


remotes::install_github("rstudio/distill")

And I got the successful installation info:

remotes::install_github("rstudio/distill")
Downloading GitHub repo rstudio/distill@HEAD
These packages have more recent versions available.
It is recommended to update all of them.
Which would you like to update?

1: All                                 
2: CRAN packages only                  
3: None                                
4: knitr     (1.30    -> 1.33  ) [CRAN]
5: brio      (1.1.1   -> 1.1.2 ) [CRAN]
6: rmarkdown (2.6     -> 2.7   ) [CRAN]
7: lubridate (1.7.9.2 -> 1.7.10) [CRAN]
8: bookdown  (0.21    -> 0.22  ) [CRAN]

Enter one or more numbers, or an empty line to skip updates:1
knitr     (1.30    -> 1.33  ) [CRAN]
brio      (1.1.1   -> 1.1.2 ) [CRAN]
Rcpp      (NA      -> 1.0.6 ) [CRAN]
rmarkdown (2.6     -> 2.7   ) [CRAN]
lubridate (1.7.9.2 -> 1.7.10) [CRAN]
bookdown  (0.21    -> 0.22  ) [CRAN]
Installing 6 packages: knitr, brio, Rcpp, rmarkdown, lubridate, bookdown
Installing packages into ‘C:/Users/ange_/OneDrive/Documents/R/win-library/4.0’
(as ‘lib’ is unspecified)

  There are binary versions available but the source versions are
  later:
         binary source needs_compilation
knitr      1.32   1.33             FALSE
brio      1.1.1  1.1.2              TRUE
bookdown   0.21   0.22             FALSE

  Binaries will be installed
essai de l'URL 'https://cran.rstudio.com/bin/windows/contrib/4.0/brio_1.1.1.zip'
Content type 'application/zip' length 45641 bytes (44 KB)
downloaded 44 KB

essai de l'URL 'https://cran.rstudio.com/bin/windows/contrib/4.0/Rcpp_1.0.6.zip'
Content type 'application/zip' length 3253620 bytes (3.1 MB)
downloaded 3.1 MB

essai de l'URL 'https://cran.rstudio.com/bin/windows/contrib/4.0/rmarkdown_2.7.zip'
Content type 'application/zip' length 3664035 bytes (3.5 MB)
downloaded 3.5 MB

essai de l'URL 'https://cran.rstudio.com/bin/windows/contrib/4.0/lubridate_1.7.10.zip'
Content type 'application/zip' length 1754679 bytes (1.7 MB)
downloaded 1.7 MB

package ‘brio’ successfully unpacked and MD5 sums checked
package ‘Rcpp’ successfully unpacked and MD5 sums checked
package ‘rmarkdown’ successfully unpacked and MD5 sums checked
package ‘lubridate’ successfully unpacked and MD5 sums checked

The downloaded binary packages are in
    C:\Users\ange_\AppData\Local\Temp\RtmpsD1d3o\downloaded_packages
installing the source packages ‘knitr’, ‘bookdown’

essai de l'URL 'https://cran.rstudio.com/src/contrib/knitr_1.33.tar.gz'
Content type 'application/x-gzip' length 892378 bytes (871 KB)
downloaded 871 KB

essai de l'URL 'https://cran.rstudio.com/src/contrib/bookdown_0.22.tar.gz'
Content type 'application/x-gzip' length 872211 bytes (851 KB)
downloaded 851 KB

* installing *source* package 'knitr' ...
** package 'knitr' correctement décompressé et sommes MD5 vérifiées
** using staged installation
** R
** demo
** inst
** byte-compile and prepare package for lazy loading
** help
*** installing help indices
  converting help for package 'knitr'
    finding HTML links ... fini
    Sweave2knitr                            html  
    all_labels                              html  
    all_patterns                            html  
    asis_output                             html  
    cache_engines                           html  
    chunk_hook                              html  
    clean_cache                             html  
    combine_words                           html  
    finding level-2 HTML links ... done

    current_input                           html  
    dep_auto                                html  
    dep_prev                                html  
    engine_output                           html  
    fig_chunk                               html  
    fig_path                                html  
    hook_animation                          html  
    hook_document                           html  
    hook_plot                               html  
    image_uri                               html  
    imgur_upload                            html  
    include_graphics                        html  
    include_url                             html  
    inline_expr                             html  
    is_low_change                           html  
    kable                                   html  
    knit                                    html  
    knit2html                               html  
    knit2pandoc                             html  
    knit2pdf                                html  
    knit2wp                                 html  
    knit_child                              html  
    knit_code                               html  
    knit_engines                            html  
    knit_exit                               html  
    knit_expand                             html  
    knit_filter                             html  
    knit_global                             html  
    knit_hooks                              html  
    knit_meta                               html  
    knit_params                             html  
    knit_params_yaml                        html  
    knit_patterns                           html  
    knit_print                              html  
    knit_rd                                 html  
    knit_theme                              html  
    knit_watch                              html  
    knitr-package                           html  
    load_cache                              html  
    opts_chunk                              html  
    opts_hooks                              html  
    opts_knit                               html  
    opts_template                           html  
    output_hooks                            html  
    output_type                             html  
    pandoc                                  html  
    pat_fun                                 html  
    plot_crop                               html  
    rand_seed                               html  
    raw_block                               html  
    raw_output                              html  
    read_chunk                              html  
    read_rforge                             html  
    rocco                                   html  
    rst2pdf                                 html  
    set_alias                               html  
    set_header                              html  
    set_parent                              html  
    sew                                     html  
    spin                                    html  
    spin_child                              html  
    stitch                                  html  
    vignette_engines                        html  
    wrap_rmd                                html  
    write_bib                               html  
** building package indices
** installing vignettes
** testing if installed package can be loaded from temporary location
*** arch - i386
*** arch - x64
** testing if installed package can be loaded from final location
*** arch - i386
*** arch - x64
** testing if installed package keeps a record of temporary installation path
* DONE (knitr)
* installing *source* package 'bookdown' ...
** package 'bookdown' correctement décompressé et sommes MD5 vérifiées
** using staged installation
** R
** inst
** byte-compile and prepare package for lazy loading
** help
*** installing help indices
  converting help for package 'bookdown'
    finding HTML links ... fini
    bookdown-package                        html  
    bookdown_site                           html  
    bs4_book                                html  
    build_chapter                           html  
    calibre                                 html  
    clean_book                              html  
    epub_book                               html  
    fence_theorems                          html  
    gitbook                                 html  
    finding level-2 HTML links ... done

    html_chapters                           html  
    html_document2                          html  
    kindlegen                               html  
    pdf_book                                html  
    publish_book                            html  
    render_book                             html  
    resolve_refs_html                       html  
    serve_book                              html  
*** copying figures
** building package indices
** installing vignettes
** testing if installed package can be loaded from temporary location
*** arch - i386
*** arch - x64
** testing if installed package can be loaded from final location
*** arch - i386
*** arch - x64
** testing if installed package keeps a record of temporary installation path
* DONE (bookdown)

The downloaded source packages are in
    ‘C:\Users\ange_\AppData\Local\Temp\RtmpsD1d3o\downloaded_packages’
√  checking for file 'C:\Users\ange_\AppData\Local\Temp\RtmpsD1d3o\remotesa04443e2a0a\rstudio-distill-aa5446d/DESCRIPTION' ...
-  preparing 'distill': (3.7s)
√  checking DESCRIPTION meta-information ... 
-  checking for LF line-endings in source and make files and shell scripts
-  checking for empty or unneeded directories
-  building 'distill_1.2.4.tar.gz'

Installing package into ‘C:/Users/ange_/OneDrive/Documents/R/win-library/4.0’
(as ‘lib’ is unspecified)
* installing *source* package 'distill' ...
** using staged installation
** R
** inst
** byte-compile and prepare package for lazy loading
** help
*** installing help indices
  converting help for package 'distill'
    finding HTML links ... fini
    create_article                          html  
    create_post                             html  
    create_theme                            html  
    create_website                          html  
    distill_article                         html  
    distill_website                         html  
    import_post                             html  
    publish_website                         html  
    rename_post_dir                         html  
*** copying figures
** building package indices
** testing if installed package can be loaded from temporary location
*** arch - i386
*** arch - x64
** testing if installed package can be loaded from final location
*** arch - i386
*** arch - x64
** testing if installed package keeps a record of temporary installation path
* DONE (distill)

Then I Knit my blog document and I got the same error as shown in the following screenshot.

r_distill_error

Should I uninstall R and RStudio and try again?

cderv commented 3 years ago

Thanks for installing last version. You do not need to reinstall R and RStudio.

It seems that after updating you don't have the warning message anymore:

1: In (function (category = "LC_ALL", locale = "")  :
  the OS request to specify the location to "en_US.UTF-8" could not be honored

do you ?

This was first reported in #273 and fixed as far as we know.

However, it seems there is still an error for you. I wonder if it can be caused by a a corrupt rss feed xml file. Can you open the xml file and check if there is malformed character ?

Maybe it would be interesting to save this file (by renaming it so that it is as if it has been removed) then re render the site and see if there is still an error ?