|
Может ли Firebird открыть базу с в каталоге кириллическим именем?
|
|||
---|---|---|---|
#18+
Программа FB 2.5 delphi XE2. Отправили демо программы в литву, не запускается. Стали разбираться виновато кириллическое название каталога. Смотрю FIBPlus IB_Intf.pas function isc_attach_database(status_vector : PISC_STATUS; db_name_length : Short; db_name : PAnsiChar; db_handle : PISC_DB_HANDLE; parm_buffer_length : Short; parm_buffer : PAnsiChar): ISC_STATUS; Ansi ibase.h typedef char ISC_SCHAR; ISC_STATUS ISC_EXPORT isc_attach_database(ISC_STATUS*, short, const ISC_SCHAR*, isc_db_handle*, short, const ISC_SCHAR*); Если я правильно понял ISC_SCHAR - signed char А как же unicode? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2013, 15:18 |
|
Может ли Firebird открыть базу с в каталоге кириллическим именем?
|
|||
---|---|---|---|
#18+
bazilio77Стали разбираться виновато кириллическое название каталога. Не согласен. Исключительно "фантазия" разработчика, т.к. в поиске полно тем. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2013, 15:22 |
|
Может ли Firebird открыть базу с в каталоге кириллическим именем?
|
|||
---|---|---|---|
#18+
wadmanbazilio77Стали разбираться виновато кириллическое название каталога. Не согласен. Исключительно "фантазия" разработчика, т.к. в поиске полно тем. Извините Литва, и поддержка программе не использующих unicode соответствующая. fbclient.dll судя по декларации не unicode. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2013, 15:30 |
|
Может ли Firebird открыть базу с в каталоге кириллическим именем?
|
|||
---|---|---|---|
#18+
wadmanИсключительно "фантазия" разработчика, т.к. в поиске полно тем. Не совсем. Обрати внимание: "отправили в Литву", т.е. запустили программу с базой в кириллическом каталоге на винде, где в ANSI кодировке кириллицы нет. В таких условиях есть только один выход: кодировать имя БД в utf-8 и добавлять в DPB флаг isc_dpb_utf8_filename. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2013, 15:34 |
|
Может ли Firebird открыть базу с в каталоге кириллическим именем?
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakovкодировать имя БД в utf-8 Хотя это скорее всего тоже не поможет. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2013, 15:39 |
|
Может ли Firebird открыть базу с в каталоге кириллическим именем?
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovDimitry Sibiryakovкодировать имя БД в utf-8 Хотя это скорее всего тоже не поможет. Собственно проблемы то для нас нет, переименовали каталог да и все. Вопрос чисто из любопыnства fbclient.dll поддерживает utf8 в именах файлов или нет? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2013, 15:54 |
|
Может ли Firebird открыть базу с в каталоге кириллическим именем?
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov"отправили в Литву", т.е. запустили программу с базой в кириллическом каталоге на винде, где в ANSI кодировке кириллицы нет Разве что база в пользовательской папке, где имя в нац. кодировке. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2013, 16:14 |
|
Может ли Firebird открыть базу с в каталоге кириллическим именем?
|
|||
---|---|---|---|
#18+
bazilio77Вопрос чисто из любопыnства fbclient.dll поддерживает utf8 в именах файлов или нет? fbclinet-у вообще наплевать на имена файлов базы. Он их тупо скармливает серверу. А вот сервер под Windows для открытия файла использует ANSI-фунукции. Linux работает лучше: там fopen принимает utf8 нормально. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2013, 16:56 |
|
Может ли Firebird открыть базу с в каталоге кириллическим именем?
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakovbazilio77Вопрос чисто из любопыnства fbclient.dll поддерживает utf8 в именах файлов или нет? fbclinet-у вообще наплевать на имена файлов базы. Он их тупо скармливает серверу. А вот сервер под Windows для открытия файла использует ANSI-фунукции. Linux работает лучше: там fopen принимает utf8 нормально. Замечательно, что и хотел узнать. Хотя почему бы серверу не использовать unicode функцию непонятно. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2013, 17:17 |
|
Может ли Firebird открыть базу с в каталоге кириллическим именем?
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakovbazilio77Вопрос чисто из любопыnства fbclient.dll поддерживает utf8 в именах файлов или нет? fbclinet-у вообще наплевать на имена файлов базы. Он их тупо скармливает серверу. А вот сервер под Windows для открытия файла использует ANSI-фунукции. Linux работает лучше: там fopen принимает utf8 нормально. Вроде бы данное поведение похоже больше на ошибку, а в ответ молчание от dimitr и hvlad. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2013, 13:17 |
|
Может ли Firebird открыть базу с в каталоге кириллическим именем?
|
|||
---|---|---|---|
#18+
bazilio77Вроде бы данное поведение похоже больше на ошибкуДанное поведение обсосано 100500 раз в разное время и в разных местах. Как workaround есть: - isc_dpb_utf8_filename - алиасы ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2013, 13:19 |
|
Может ли Firebird открыть базу с в каталоге кириллическим именем?
|
|||
---|---|---|---|
#18+
hvladКак workaround есть: - isc_dpb_utf8_filename - алиасы Неработоспособны в Windows на путях с символами не транслируемыми в текущую ANSI страницу. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2013, 16:40 |
|
Может ли Firebird открыть базу с в каталоге кириллическим именем?
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, пиши Адриане, не мне ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2013, 17:10 |
|
Может ли Firebird открыть базу с в каталоге кириллическим именем?
|
|||
---|---|---|---|
#18+
hvladпиши Адриане, не мне Адриано больше за INTL в ответе, не за PIO. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2013, 17:12 |
|
Может ли Firebird открыть базу с в каталоге кириллическим именем?
|
|||
---|---|---|---|
#18+
bazilio77Отправили демо программы в литву, не запускается. Стали разбираться виновато кириллическое название каталога. адский ад. по башке дубиной тому, кто придумал в инсталляторе указывать кириллические имена папок. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2013, 17:17 |
|
Может ли Firebird открыть базу с в каталоге кириллическим именем?
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, давай ты не будешь мне рассказывать кто за что в ответе, да ? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2013, 17:19 |
|
Может ли Firebird открыть базу с в каталоге кириллическим именем?
|
|||
---|---|---|---|
#18+
hvladдавай ты не будешь мне рассказывать кто за что в ответе, да ? Jawohl, mein fuhrer! Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2013, 17:42 |
|
Может ли Firebird открыть базу с в каталоге кириллическим именем?
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2013, 18:05 |
|
Может ли Firebird открыть базу с в каталоге кириллическим именем?
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovhvladКак workaround есть: - isc_dpb_utf8_filename - алиасы Неработоспособны в Windows на путях с символами не транслируемыми в текущую ANSI страницу.Вот объясни мне - как нужно создать файл с алиасами, чтобы строки в нём были "с символами не транслируемыми в текущую ANSI страницу" ? Злонамеренная смена системной кодировки не рассматривается. Не ANSI символы в самом алиасе (а не путь, на который он ссылается) - не рассматривается. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2013, 18:19 |
|
Может ли Firebird открыть базу с в каталоге кириллическим именем?
|
|||
---|---|---|---|
#18+
hvladВот объясни мне - как нужно создать файл с алиасами, чтобы строки в нём были "с символами не транслируемыми в текущую ANSI страницу" ? notepad - save as utf-8. Unicode FAR Manager - F4 - Shift-F8 Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2013, 18:22 |
|
Может ли Firebird открыть базу с в каталоге кириллическим именем?
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, да, и вводим русские буквы в пути к БД, чтобы литовские покупатели не зазнавались спали. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2013, 18:25 |
|
Может ли Firebird открыть базу с в каталоге кириллическим именем?
|
|||
---|---|---|---|
#18+
hvladНе ANSI символы в самом алиасе (а не путь, на который он ссылается) - не рассматривается. Dimitry Sibiryakovnotepad - save as utf-8.Не морочь голову занятым людям. Больше я в этой теме не пишу. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2013, 19:14 |
|
Может ли Firebird открыть базу с в каталоге кириллическим именем?
|
|||
---|---|---|---|
#18+
Как будто в этой теме что-то ещё можно писать... Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2013, 19:19 |
|
Может ли Firebird открыть базу с в каталоге кириллическим именем?
|
|||
---|---|---|---|
#18+
Решил посмотреть как оно на самом деле, с юникодными путями. Увидел что с utf8_filename не работают юникодные пути. Нужно сказать, что это не то что ожидает программист (это я из его роли говорю) :) За время написания я побывал не только в роли программиста, но и в роли пользователя: - пользователь (IT-директор крупной конторы) скачал триал программы с интересным ему функционалом. Ставит её в папку с юникодным именем в пути (он все программы туда ставит, по-умолчанию), и она блин не работает ( что это за фигня, у них даже триал не работает ). - пользователь имеет учётную запись с юникодным именем, скачал программу, ставит её в папку по-умолчанию, а программа написана по-взрослому, и поэтому держит базу в AppData (у каждого пользователя своя база). И соответственно программа у этого пользователя не работает, но работает у других пользователей ( сисадмины казлы, не могут настроить мне программу ). Незапускаемая программа - это явно баг, критический баг. Не, ну конечно можно свесить ответственность на пользователей, мол это они бараны (или сисадмины), т.к. зачем-то используют предоставленную Microsoft-ом возможность использовать юникодные имена в названиях папок и учётных записей, хотя этого делать явно не следует. Почему не следует? Да хотя бы потому что Firebird не умеет обрабатывать пути с юникодными символвами :) Я прежде чем писать, проверил как оно на самом деле, и даже пользователя создал, и проверил на нём. Ну и сценарии мной описаные - они вполне себе реальные. Если бы например разработчики Skype захотели хранить пользовательские данные в Firebird (а это означает по базе на пользователя, и Embedded-only), то проблема бы проявила себя во всей красе. Вот код программы (XE2): В коде изначально стоял значок фунта стерлингов, но пришлось его заменить на #$00A3, т.к. не знаю как в форум вставлять юникодные символы. Для корректного отображения UTF8 нужно установить в свойствах консоли шрифт Lucida Console, если вдруг кто будет запускать и увидит кракозябры :) Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191. 192. 193. 194. 195. 196. 197. 198. 199. 200. 201. 202. 203. 204. 205. 206. 207. 208. 209. 210. 211. 212. 213. 214. 215. 216. 217. 218. 219. 220. 221. 222. 223. 224. 225. 226. 227. 228. 229. 230. 231. 232. 233. 234. 235. 236. 237. 238. 239. 240.
... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2013, 03:49 |
|
Может ли Firebird открыть базу с в каталоге кириллическим именем?
|
|||
---|---|---|---|
#18+
NickDeeРешил посмотреть как оно на самом деле, с юникодными путями. Увидел что с utf8_filename не работают юникодные пути. а) http://www.firebirdsql.org/file/documentation/release_notes/html/ru/rlsnotes25.html#rnfb25-apiods-api-conncharset б) http://tracker.firebirdsql.org/browse/CORE-3172 Ты начал с кириллицы в путях, тебе ответили. Каким боком тут юникод ??? Но ты упёрся и решил что нужно повесить всех собак на Firebird. У тебя минимум два пути: 1. сделать то, что тебе так сильно нужно, в FB самому 2. научить инсталлятор своего софта работать по правилами, поддерживаемым FB PS Есть и третий путь, но он не для тебя PPS XE2 у меня нет и не будет, посему ни проверять правильность ни, тем более, выполнять твой код я не буду ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2013, 11:34 |
|
|
start [/forum/topic.php?fid=40&msg=38338114&tid=1562040]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
50ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
61ms |
get tp. blocked users: |
1ms |
others: | 17ms |
total: | 173ms |
0 / 0 |