CSV Export encoding problem

C++ JAVA
explozen
Турист
Турист
Posts: 420
Joined: Thu Feb 10, 2011 7:15 pm
Answers: 13

CSV Export encoding problem

Post by explozen » Fri Aug 30, 2019 8:46 am

Здравейте,

Имам някакъв странен проблем...
Експортвам с PHP от базата данни в CSV. Когато има резултат на кирилица, данните излизат на шльокавица.
Някой имал ли е подобен проблем и ако да, може ли да сподели.

Image[/img]

User avatar
dakata__92
Web-tourist
Web-tourist
Posts: 3277
Joined: Tue Aug 02, 2011 7:24 pm
Answers: 126

Re: CSV Export encoding problem

Post by dakata__92 » Fri Aug 30, 2019 12:35 pm

explozen wrote:Здравейте,

Имам някакъв странен проблем...
Експортвам с PHP от базата данни в CSV. Когато има резултат на кирилица, данните излизат на шльокавица.
Някой имал ли е подобен проблем и ако да, може ли да сподели.

Image[/img]
Таблицата и полетата трябва да са ти в енкодинг utf8_general_ci.

explozen
Турист
Турист
Posts: 420
Joined: Thu Feb 10, 2011 7:15 pm
Answers: 13

Post by explozen » Fri Aug 30, 2019 1:21 pm

Такива са...

User avatar
Revelation
Web-tourist
Web-tourist
Posts: 865
Joined: Sun Mar 24, 2013 1:23 pm
Answers: 62

Post by Revelation » Fri Aug 30, 2019 5:46 pm

Дай повече информация. Колации на база данни, как вадиш данните от базата данни (понякога се налага да използваш SET NAMES utf8, когато се свързваш с базата данни).

Също не знам как стои въпроса под Мак с регионални настройки и т.н., но например, имаш ли проблеми с кирилица на субтитри.

Друго също ми прави впечатление. Това не е utf8 шльокавица. На нещо друго прилича.
Дай повече информация с код да видим какви ги вършиш.

explozen
Турист
Турист
Posts: 420
Joined: Thu Feb 10, 2011 7:15 pm
Answers: 13

Post by explozen » Sat Aug 31, 2019 1:31 pm

http://prikachi.com/images/763/9640763V.png - Така ги експортвам.

Колацията на базата е utf8_general_ci.

Проблеми със субтитри не съм имал.

User avatar
Revelation
Web-tourist
Web-tourist
Posts: 865
Joined: Sun Mar 24, 2013 1:23 pm
Answers: 62

Post by Revelation » Sat Aug 31, 2019 3:43 pm

Направи си един тест, за да разбереш дали базата данни, извеждането от базата данни или нещо друго е проблема.


Вместо да използваш базата данни, направи си един тестови масив със същата структура и го попълни с кирилизирани стойности и го подай, да видиш дали изхода ще е същия. Ако имаш проблем отново, това означава, че базата данни ти е наред и трябва да търсиш проблема другаде.

User avatar
dakata__92
Web-tourist
Web-tourist
Posts: 3277
Joined: Tue Aug 02, 2011 7:24 pm
Answers: 126

Post by dakata__92 » Mon Sep 02, 2019 7:35 am


explozen
Турист
Турист
Posts: 420
Joined: Thu Feb 10, 2011 7:15 pm
Answers: 13

Post by explozen » Mon Sep 02, 2019 10:45 am

Няма промяна с $conn->set_charset("utf8");

User avatar
dakata__92
Web-tourist
Web-tourist
Posts: 3277
Joined: Tue Aug 02, 2011 7:24 pm
Answers: 126

Post by dakata__92 » Mon Sep 02, 2019 12:33 pm

Защо не използваш file_put_contents ?

[php]
$data = file_get_contents($npath);
$data = mb_convert_encoding($data, 'UTF-8', 'OLD-ENCODING');
file_put_contents('tempfolder/'.$a, $data);
[/php]
https://stackoverflow.com/questions/483 ... t/15146274
Или по-кофти вариант:

[php]function writeUTF8File($filename,$content) {
$f=fopen($filename,"w");
# Now UTF-8 - Add byte order mark
fwrite($f, pack("CCC",0xef,0xbb,0xbf));
fwrite($f,$content);
fclose($f);
} [/php]

https://stackoverflow.com/questions/483 ... t/15146274

Проблема е, че при създаване на файл ти трябва да му укажеш в какъв енкодинг да запазва. Ако стринга ти е UTF8 а ти му кажеш, че файла ще е ANSI ще ти прецака символите с маймуница.

https://stackoverflow.com/questions/111 ... -and-utf-8

explozen
Турист
Турист
Posts: 420
Joined: Thu Feb 10, 2011 7:15 pm
Answers: 13

Post by explozen » Mon Sep 02, 2019 1:28 pm

Оказа се че е от ексела. Когато го отворя през Google drive няма проблем :D

Post Reply