# Read special characters using CSV.read

**URL:** <https://discourse.julialang.org/t/read-special-characters-using-csv-read/104604>\
**Category:** New to Julia\
**Tags:** csv\
**Created:** [October 5, 2023, 9:30am UTC](https://discourse.julialang.org/t/read-special-characters-using-csv-read/104604 "2023-10-05T09:30:24Z")\
**Posts on this page:** 3\
**Page:** 2

<div class="post-metadata">

**Author:** ![oheil](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/oheil/32/220745_2.png) [@oheil](https://discourse.julialang.org/u/oheil)\
**Post date:** [October 11, 2023, 8:08am UTC](https://discourse.julialang.org/t/read-special-characters-using-csv-read/104604/22 "2023-10-11T08:08:35Z")

</div>

> [@StefanKarpinski](#):
>
> A potential design change would be to add an option to `CSV.read` to validate strings as UTF-8 and turn that on by default, only letting you read invalid data if you disable that option.

I would object, as it is clearly a breaking change.  
Better: validate by default but only producing a _Warning_ when reading invalid strings.  
So the new option could be 3 states: Off (no validation, like now), default On (validate but only warn), Error On (validate and error out).

---

<div class="post-metadata">

**Author:** ![TimG](https://avatars.discourse-cdn.com/v4/letter/t/82dd89/32.png) [@TimG](https://discourse.julialang.org/u/TimG)\
**Post date:** [October 11, 2023, 8:29am UTC](https://discourse.julialang.org/t/read-special-characters-using-csv-read/104604/23 "2023-10-11T08:29:30Z")

</div>

That would work for me, too. 🙂

---

<div class="post-metadata">

**Author:** ![oheil](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/oheil/32/220745_2.png) [@oheil](https://discourse.julialang.org/u/oheil)\
**Post date:** [October 11, 2023, 10:40am UTC](https://discourse.julialang.org/t/read-special-characters-using-csv-read/104604/24 "2023-10-11T10:40:35Z")

</div>

And, perhaps even more important: CSV.jl is one the most prominent packages in respect to performance. I remember the times and discussions about this. Doing a validation by default would be probably a performance draw back, but I can’t estimate the cost. This needs to be considered too.

[Previous page](https://discourse.julialang.org/t/read-special-characters-using-csv-read/104604.md?page=1)
