~R4SAS
~orignal
~villain
&N00B
AreEnn
DUHOVKIN
Most2
Nausicaa
Nikat
Opax
Ruskoye_911
Vort
Xeha
`
acetone_
anon3
b3t4f4c3
fidoid
karamba_i2p
nemiga
not_bob_afk
plap
poriori
profetikla
qend
segfault
soos
teeth
tetrimer_
uis
un
user
vade
weko
whothefuckami
R4SAS
что скажешь?
orignal
а нахуя?
orignal
чтобы только по фэншую было?
orignal
у нас же написано то же самое
R4SAS
чтоьы не орал компилятор
orignal
замени
R4SAS
это же по иде то же самое что написать (IPN)(void*) ?
orignal
да
Vort
раз речь о ругани компилера, то, может ещё и с предупреждением по utf8 стоит что-то сделать?
R4SAS
тогда лучше кратко напишу
R4SAS
Vort: а есть варианты?
Vort
хотя в C++ кодировки сделаны местами загадочно, так что может лучше и не трогать, чтобы не сломать ничего
R4SAS
я до этого решения то с трудом допетрил, другой вариант - делать UTF8 повсеместно
Vort
ну там в ошибке речь об устаревшести методики. не могли же старую выкинуть из стандарта, а новую не сделать?
R4SAS
ну... единственный вариант - переписывать на UTF8 полностью работу
Vort
если там слишком хитрое место, тогда ну его нафиг. ну или может я когда-то доберусь
R4SAS
менять std::string на wstring
R4SAS
итд
R4SAS
аналогичным процессом я занимался в pboted
orignal
wstring это UTF16
orignal
это на хуй не надо
Vort
да я просто толком не смотрел что там. однако мне не верится что нельзя сделать и по нормальному и по стандарту
orignal
UTF8 же это обычный char
R4SAS
а вот нихера
R4SAS
UTF8mb еще есть
R4SAS
где те самые 2 байта
Vort
что за странность такая? первый раз слышку
Vort
слышу*
Vort
8ка как бы намекает на 1 байт
R4SAS
ты не знаешь что есть мультибайтовый UTF?
R4SAS
в MySQL например есть отдельно UTF8mb4
Vort
ну так UTF-8 он и есть мультибайтовый, какой же ещё?
R4SAS
понятное дело
R4SAS
но как ты с ним будешь работать в char?
Vort
посимвольно - никак
R4SAS
о том и речь
orignal
так и не надо
Vort
просто если UTF-8 распихать по int`ам, то это уже будет UTF-32
R4SAS
github.com/PurpleBote/pboted/commit/567786c7fed0d841b8c18d757815bec7dd423b74#diff-9e3c42c9c15be5a08814718011a7c0bebf5bd0a6e472e5232e88c15a5021caa8R19-R26
R4SAS
как пример, начало магии
R4SAS
github.com/PurpleBote/pboted/commit/567786c7fed0d841b8c18d757815bec7dd423b74#diff-5181b344f3129af71be17778e2eaf67bd1069c959766c3a6749a3441497d9514R60-R71
R4SAS
wchar_t
R4SAS
если не делать дефайн UNICODE то русские символы в путях ломаются
R4SAS
если без него делать, то приходится костылями работать, которые сейчас в ш2зв
Vort
почитал немного. печально. авторы стандарта просто обосрались. cyberforum.ru/cpp-beginners/thread2889962.html
Vort
хотя это было ожидаемо. я проблемы с кодировками в C++ давно замечал
Vort
раз в i2pd стоит #ifdef _WIN32, то там можно просто дёрнуть какой-нибудь winapi вызов да и всё
Vort
конечно же для этого есть вызовы
Vort
там разве что аккуратно надо делать, чтобы не напутать длины в байтах и в символах
Vort
ну и следить за нулевым символом
Vort
return chcp(dataDir, CP_ACP, CP_UTF8);
Vort
вот эта хреновина работает. но это какой-то позор честно говоря :(
R4SAS
лол
orignal
чо?
R4SAS
да я про самописные обертки, которые на форуме по ссылке Vort'a