How To Write Not Read Character Into Database (square character)

grayhyuk
grayhyuk New Altair Community Member
edited November 5 in Community Q&A
Hello im literally new using Rapidminer
i dont know how to write square character like above to my mysql database
it always says database error occured incorrection string value
Im attach dataset and rmp process
Please your kindness
Thx for your help
Below example set when i just show in rapidminer


Best Answer

  • BalazsBarany
    BalazsBarany New Altair Community Member
    Answer ✓
    Hi,

    your input seems to have an invalid encoding, with unreadable characters. Databases are usually quite strict on only accepting correctly encoded input.
    Look again at your import process. Where are the data coming from? Is it possible that you're importing them with a wrong encoding setting? Are you using Unicode, UTF-8, or a locale-specific encoding?

    If you can't fix the input and need the characters as they are, you could use "Encode URL" (when writing) and "Decode URL" (when reading from the database) to create a representation of your text that the database accepts. This is how it would look like inside the database:

    NEW+YEAR+SALE+%EF%BF%BD%EF%BF%BD%EF%BF%BD+TAKE+OVER

    Best regards,
    Balázs

Answers

  • BalazsBarany
    BalazsBarany New Altair Community Member
    Answer ✓
    Hi,

    your input seems to have an invalid encoding, with unreadable characters. Databases are usually quite strict on only accepting correctly encoded input.
    Look again at your import process. Where are the data coming from? Is it possible that you're importing them with a wrong encoding setting? Are you using Unicode, UTF-8, or a locale-specific encoding?

    If you can't fix the input and need the characters as they are, you could use "Encode URL" (when writing) and "Decode URL" (when reading from the database) to create a representation of your text that the database accepts. This is how it would look like inside the database:

    NEW+YEAR+SALE+%EF%BF%BD%EF%BF%BD%EF%BF%BD+TAKE+OVER

    Best regards,
    Balázs
  • grayhyuk
    grayhyuk New Altair Community Member
    edited January 2021
    thank you for your guidance so i just replace the character and get it through database

    <?xml version="1.0" encoding="UTF-8"?><process version="8.1.003"><br>  <context><br>    <input/><br>    <output/><br>    <macros/><br>  </context><br>  <operator activated="true" class="process" compatibility="8.1.003" expanded="true" name="Process"><br>    <parameter key="encoding" value="US-ASCII"/><br>    <process expanded="true"><br>      <operator activated="true" class="read_excel" compatibility="8.1.003" expanded="true" height="68" name="Read Excel" width="90" x="112" y="34"><br>        <parameter key="excel_file" value="C:\test input program name.xlsx"/><br>        <parameter key="encoding" value="US-ASCII"/><br>        <list key="annotations"/><br>        <list key="data_set_meta_data_information"/><br>      </operator><br>      <operator activated="true" class="replace" compatibility="8.1.003" expanded="true" height="82" name="Replace" width="90" x="313" y="34"><br>        <parameter key="attribute_filter_type" value="single"/><br>        <parameter key="attribute" value="offering_program_name"/><br>        <parameter key="replace_what" value="[^\w\s]"/><br>        <parameter key="replace_by" value="?"/><br>      </operator><br>      <operator activated="true" class="jdbc_connectors:write_database" compatibility="8.1.003" expanded="true" height="68" name="Write Database" width="90" x="581" y="34"><br>        <parameter key="connection" value="cms_dev_localhost"/><br>        <parameter key="table_name" value="tes_tabel"/><br>        <parameter key="overwrite_mode" value="overwrite"/><br>      </operator><br>      <connect from_op="Read Excel" from_port="output" to_op="Replace" to_port="example set input"/><br>      <connect from_op="Replace" from_port="example set output" to_op="Write Database" to_port="input"/><br>      <connect from_op="Write Database" from_port="through" to_port="result 1"/><br>      <portSpacing port="source_input 1" spacing="0"/><br>      <portSpacing port="sink_result 1" spacing="0"/><br>      <portSpacing port="sink_result 2" spacing="0"/><br>    </process><br>  </operator><br></process><br><br>