jaystack / odata-v4-parser

OData v4 parser
38 stars 41 forks source link

Support for Unicode characters #6

Closed marekkajda closed 6 years ago

marekkajda commented 7 years ago

Already we can't use UTF-8 characters in OData queries - parser can't process it correctly.

Example: $filter=contains(Name,'ó')

The problem is with function in lexer.ts file: export function ALPHA(value: number): boolean { return (value >= 0x41 && value <= 0x5a) || (value >= 0x61 && value <= 0x7a); } which recognize alphanumeric characters. Is it possible to add condition || value >= 0x80 - all extended ASCII characters + the rest of UTF-8 characters?

And it will also require to change Uint8Array to Uint16Array

sunhaolin commented 6 years ago

+1 , $filter=title eq '中文' return error msg Error: Unexpected character at 5

lazarv commented 6 years ago

@marekkajda and @sunhaolin - Unicode character support is now available in the latest odata-v4-parser 0.1.27 as @marekkajda suggested.