R: Run 'system2()' and mark its character output as UTF-8 if...

system3 {xfun} | R Documentation

## Run `system2()` and mark its character output as UTF-8 if appropriate

### Description

This is a wrapper function based on `system2()`. If `system2()` returns character output (e.g., with the argument `stdout = TRUE`), check if the output is encoded in UTF-8. If it is, mark it with UTF-8 explicitly.

### Usage

    system3(...)

### Arguments

`...` | Passed to `system2()`.

### Value

The value returned by `system2()`.

### Examples

    a = shQuote(c("-e", "print(intToUtf8(c(20320, 22909)))"))
    x2 = system2("Rscript", a, stdout = TRUE)
    Encoding(x2)  # unknown

    x3 = xfun::system3("Rscript", a, stdout = TRUE)
    # encoding of x3 should be UTF-8 if the current locale is UTF-8
    !l10n_info()[["UTF-8"]] || Encoding(x3) == "UTF-8"  # should be TRUE

[Package xfun version 0.31 Index]