Skip to content

VraNgPull does not always use UTF-8 encoding #792

@Indy-rbo

Description

@Indy-rbo

Description

It seems that Encoding Charset is not explicitly set to StandardCharsets.UTF_8 when dealing with files (at least in VraNgPull), which makes it dependent on some system settings.

Executing the following:

public class test {
  public static void main(String[] args) {
    System.out.println(System.getProperty("file.encoding"));
  }
}

Me: UTF-8
Colleague: Cp1252

We have the following form style:

#restartWarningText {
  border: 1px solid #ffb92e;
  border-radius: 4px;
  padding: 10px;
  background: #fff2d6;
  display: flex;
  align-items: center;
}

#restartWarningText::before {
  content: '⚠️';
  float: left;
  margin: 5px 10px 5px 5px;
  font-size: 1rem;
}

#sizingInfoText {
  border: 1px solid #73c4e0;
  border-radius: 4px;
  padding: 10px;
  background: #e6f5fa;
  display: flex;
  align-items: center;
}

#sizingInfoText::before {
  content: 'ℹ️';
  float: left;
  margin: 5px 10px 5px 5px;
  font-size: 1rem;
}

When I pull this it becomes

"#restartWarningText {    border: 1px solid #ffb92e;    border-radius: 4px;    padding: 10px;    background: #fff2d6;    display: flex;    align-items: center;}#restartWarningText::before {    content: \u0027⚠️\u0027;    float: left;    margin: 5px 10px 5px 5px;    font-size: 1rem;}#sizingInfoText {    border: 1px solid #73c4e0;    border-radius: 4px;    padding: 10px;    background: #e6f5fa;    display: flex;    align-items: center;}#sizingInfoText::before {    content: \u0027ℹ️\u0027;    float: left;    margin: 5px 10px 5px 5px;    font-size: 1rem;}"

but when a colleague pulls, he receives:

"#restartWarningText {    border: 1px solid #ffb92e;    border-radius: 4px;    padding: 10px;    background: #fff2d6;    display: flex;    align-items: center;}#restartWarningText::before {    content: \u0027??\u0027;    float: left;    margin: 5px 10px 5px 5px;    font-size: 1rem;}#sizingInfoText {    border: 1px solid #73c4e0;    border-radius: 4px;    padding: 10px;    background: #e6f5fa;    display: flex;    align-items: center;}#sizingInfoText::before {    content: \u0027??\u0027;    float: left;    margin: 5px 10px 5px 5px;    font-size: 1rem;}"
Image

Steps to Reproduce

  1. Set the initial CSS as form style
  2. Pull the form
  3. Encoding is either successful or fails, depending on if UTF-8 encoding is picked or not.

Preconditions: Encoding chosen by the file.encoding system property is Cp1252

Expected behavior: It to use the correct encoding on all systems.

Actual behavior: Some systems use their platform specific encoding

Reproduces how often: 100%

Component/s: Probably common/artifact-manager or maven/plugins/vra-ng

Affects Build/s: All?

Environment

Client

  • Build Tools for VMware Aria Version: 4.5.0
  • OS Version:
    • Mine:
Edition	Windows 11 Pro
Version	24H2
Installed on	‎03/‎10/‎2024
OS build	26100.4349
Experience	Windows Feature Experience Pack 1000.26100.107.0
  • Colleague:
Edition	Windows 11 Pro
Version	24H2
Installed on	‎16-‎1-‎2025
OS build	26100.4652
Experience	Windows Feature Experience Pack 1000.26100.128.0

Server

  • vRealize Automation Version: 8.18.1
  • vRealize Orchestrator Version: 8.18.1

Additional Context

This should probably either be explicitly set in the Build Tools, or instructions on how to set the system file.encoding property to UTF-8 should be provided in the README.md.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions