You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2016/07/18 12:16:20 UTC

[jira] [Commented] (FLINK-3921) StringParser not specifying encoding to use

    [ https://issues.apache.org/jira/browse/FLINK-3921?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15382187#comment-15382187 ] 

ASF GitHub Bot commented on FLINK-3921:
---------------------------------------

Github user greghogan commented on a diff in the pull request:

    https://github.com/apache/flink/pull/2060#discussion_r71137136
  
    --- Diff: flink-core/src/main/java/org/apache/flink/api/common/io/GenericCsvInputFormat.java ---
    @@ -106,6 +106,11 @@ protected GenericCsvInputFormat() {
     	protected GenericCsvInputFormat(Path filePath) {
     		super(filePath);
     	}
    +
    +	protected GenericCsvInputFormat(Path filePath, Charset charset) {
    +		super(filePath);
    +		this.charset = charset != null ? charset : Charset.forName("UTF-8");
    --- End diff --
    
    Would this be better as `this.charset = Preconditions.checkNotNull(charset);` since the user should use `GenericCsvInputFormat(Path)` when using the default charset?


> StringParser not specifying encoding to use
> -------------------------------------------
>
>                 Key: FLINK-3921
>                 URL: https://issues.apache.org/jira/browse/FLINK-3921
>             Project: Flink
>          Issue Type: Improvement
>          Components: Core
>    Affects Versions: 1.0.3
>            Reporter: Tatu Saloranta
>            Assignee: Rekha Joshi
>            Priority: Trivial
>
> Class `flink.types.parser.StringParser` has javadocs indicating that contents are expected to be Ascii, similar to `StringValueParser`. That makes sense, but when constructing actual instance, no encoding is specified; on line 66 f.ex:
>    this.result = new String(bytes, startPos+1, i - startPos - 2);
> which leads to using whatever default platform encoding is. If contents really are always Ascii (would not count on that as parser is used from CSV reader), not a big deal, but it can lead to the usual Latin-1-VS-UTF-8 issues.
> So I think that encoding should be explicitly specified, whatever is to be used: javadocs claim ascii, so could be "us-ascii", but could well be UTF-8 or even ISO-8859-1.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)