Вопрос ΠΎ Ρ‚ΠΎΠΌ, какая ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² 1Π‘, часто Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΏΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ ΠΈΠΌΠΏΠΎΡ€Ρ‚Π° ΠΈΠ»ΠΈ экспорта Π΄Π°Π½Π½Ρ‹Ρ…, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈ столкновСнии с «кракозябрами» Π² Π²Ρ‹Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌΡ‹Ρ… Ρ„Π°ΠΉΠ»Π°Ρ…. ПониманиС ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ² Ρ€Π°Π±ΠΎΡ‚Ρ‹ с символами критичСски Π²Π°ΠΆΠ½ΠΎ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΈ администраторов, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π½Π΅Π²Π΅Ρ€Π½Ρ‹ΠΉ Π²Ρ‹Π±ΠΎΡ€ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ΠΏΠΎΡ‚Π΅Ρ€Π΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ нСвозмоТности ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ Π² сторонних систСмах. Π’ соврСмСнных вСрсиях ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ситуация ΠΊΠ°Ρ€Π΄ΠΈΠ½Π°Π»ΡŒΠ½ΠΎ измСнилась ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Ρ€Π°Π½Π½ΠΈΠΌΠΈ Ρ€Π΅Π»ΠΈΠ·Π°ΠΌΠΈ.

Основная ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ сама ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ 8 Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ ΠΎΠΏΠ΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ строками Π² ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ UTF-16. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ любой тСкст Π²Π½ΡƒΡ‚Ρ€ΠΈ систСмы ΡƒΠΆΠ΅ хранится Π² ΡƒΠ½ΠΈΠΊΠΎΠ΄-Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰Π΅ΠΌ практичСски всС языки ΠΌΠΈΡ€Π°. Однако ΠΏΡ€ΠΈ ΠΎΠ±ΠΌΠ΅Π½Π΅ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ с внСшним ΠΌΠΈΡ€ΠΎΠΌ (Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмой, Π²Π΅Π±-сСрвисами, Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…) происходит ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅, ΠΈ ΠΈΠΌΠ΅Π½Π½ΠΎ Π½Π° этом этапС Ρ‡Π°Ρ‰Π΅ всСго Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ ошибки. Π’Π°ΠΆΠ½ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π°Ρ‚ΡŒ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π΅ прСдставлСниС Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ΠΈΡ… сСриализации ΠΏΡ€ΠΈ Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠ΅.

Рассмотрим Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎ, ΠΊΠ°ΠΊ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ этими процСссами, ΠΊΠ°ΠΊΠΈΠ΅ стандарты Π΄Π΅-Ρ„Π°ΠΊΡ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² экосистСмС 1Π‘ ΠΈ ΠΊΠ°ΠΊ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΎΠΉ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с тСкстовыми Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ ΠΈ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ….

Π’Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π΅ прСдставлСниС строк Π² ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ 1Π‘

Как ΡƒΠΆΠ΅ ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΎΡΡŒ, ядро ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ 1Π‘ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ UTF-16 для хранСния строковых ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. Π­Ρ‚ΠΎ обСспСчиваСт ΠΏΠΎΠ»Π½ΡƒΡŽ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ с ΠΌΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½Ρ‹ΠΌΠΈ стандартами ΠΈ позволяСт ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ символы ΠΊΠΈΡ€ΠΈΠ»Π»ΠΈΡ†Ρ‹, Π»Π°Ρ‚ΠΈΠ½ΠΈΡ†Ρ‹, ΠΈΠ΅Ρ€ΠΎΠ³Π»ΠΈΡ„ΠΎΠ² ΠΈ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… Π·Π½Π°ΠΊΠΎΠ² Π±Π΅Π· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… настроСк со стороны ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. Для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΠ΄Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ свободно ΠΎΠΏΠ΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ тСкстом любой слоТности.

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠΎΠΊΠΈΠ΄Π°ΡŽΡ‚ ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹ управляСмого прилоТСния. НапримСр, ΠΏΡ€ΠΈ Ρ‡Ρ‚Π΅Π½ΠΈΠΈ тСкстового Ρ„Π°ΠΉΠ»Π° Ρ‡Π΅Ρ€Π΅Π· ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ЧтСниСВСкста ΠΈΠ»ΠΈ ΠΏΡ€ΠΈ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΎΡ‚Ρ‡Π΅Ρ‚Π° Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ HTML. Если внСшняя систСма ΠΎΠΆΠΈΠ΄Π°Π΅Ρ‚ ΠΎΠ΄Π½ΠΎΠ±Π°ΠΉΡ‚ΠΎΠ²ΡƒΡŽ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Windows-1251), Π° 1Π‘ ΠΎΡ‚Π΄Π°Π΅Ρ‚ Π±Π°ΠΉΡ‚Ρ‹ Π² UTF-8 Π±Π΅Π· ΠΌΠ°Ρ€ΠΊΠ΅Ρ€Π° BOM, цСлСвая систСма ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π±Π°ΠΉΡ‚Ρ‹.

Π‘Ρ‚ΠΎΠΈΡ‚ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π² вСрсиях ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Π΄ΠΎ 8.3 сущСствовали Π½ΡŽΠ°Π½ΡΡ‹ с ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ путями Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС, Π½ΠΎ Π² Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π΅Π»ΠΈΠ·Π°Ρ… эти вопросы Ρ€Π΅ΡˆΠ΅Π½Ρ‹ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ² ΠΈ API ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ остаСтся лишь ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΈ явном Ρ‡Ρ‚Π΅Π½ΠΈΠΈ ΠΈΠ»ΠΈ записи ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ….

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Никогда Π½Π΅ ΠΏΠΎΠ»Π°Π³Π°ΠΉΡ‚Π΅ΡΡŒ Π½Π° автоматичСскоС ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ ΠΏΡ€ΠΈ Ρ‡Ρ‚Π΅Π½ΠΈΠΈ «сырых» Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ². ВсСгда явно ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΠΉΡ‚Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ Π² конструкторС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° чтСния, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ скрытых ошибок ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΠΈ Π±Π°ΠΉΡ‚ΠΎΠ².

πŸ’‘

Если Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ с legacy-ΠΊΠΎΠ΄ΠΎΠΌ (старыми ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°ΠΌΠΈ), ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π»ΠΈ Ρ‚Π°ΠΌ ТСстко заданная ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° OEM866, которая Π±Ρ‹Π»Π° стандартом для DOS-вСрсий 1Π‘ 7.7.

Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Ρ‹ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΎΠΊ ΠΏΡ€ΠΈ ΠΎΠ±ΠΌΠ΅Π½Π΅ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ (XML, JSON, CSV)

ΠŸΡ€ΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ 1Π‘ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΌΠΈ систСмами Π²Ρ‹Π±ΠΎΡ€ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ становится вопросом стандарта ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° ΠΎΠ±ΠΌΠ΅Π½Π°. Для Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° XML стандартом Π΄Π΅-Ρ„Π°ΠΊΡ‚ΠΎ являСтся UTF-8. Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Π²Π΅Π±-сСрвисов, SOAP-интСрфСйсов ΠΈ REST-API ΠΎΠΆΠΈΠ΄Π°ΡŽΡ‚ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠΌΠ΅Π½Π½ΠΎ Π² этом Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅. ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° 1Π‘ ΠΏΡ€ΠΈ использовании ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π—Π°ΠΏΠΈΡΡŒXML ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ часто ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ UTF-8, Ρ‡Ρ‚ΠΎ являСтся ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΌ Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ для соврСмСнной Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

Битуация с Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠΌ CSV (Comma Separated Values) Π³ΠΎΡ€Π°Π·Π΄ΠΎ слоТнСС ΠΈ зависит ΠΎΡ‚ Ρ€Π΅Π³ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… настроСк ΠΈ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‰Π΅ΠΉ систСмы. Π’ русскоязычном сСгмСнтС историчСски слоТилось использованиС ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ Windows-1251 (CP1251) для CSV-Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… Π² Microsoft Excel. Если Π²Ρ‹ Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ Ρ„Π°ΠΉΠ» Π² UTF-8 Π±Π΅Π· BOM (Byte Order Mark), Excel ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Π΅Π³ΠΎ, отобраТая русский тСкст Π² Π²ΠΈΠ΄Π΅ нСпонятных символов.

  • πŸ“„ UTF-8 β€” ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ стандарт для Π²Π΅Π±-интСрфСйсов, JSON ΠΈ соврСмСнных Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ….
  • πŸ’Ύ Windows-1251 β€” стандарт для ΠΎΠ±ΠΌΠ΅Π½Π° с ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠΌΠΈ систСмами ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Excel Π² локальной срСдС Windows.
  • πŸ”§ OEM866 β€” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΡ€Π°ΠΉΠ½Π΅ Ρ€Π΅Π΄ΠΊΠΎ, Π² основном для совмСстимости со старым консорным ПО ΠΈΠ»ΠΈ спСцифичСским ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ.
  • 🌐 UTF-8 with BOM β€” спСцифичСский Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ для ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ³ΠΎ открытия CSV Ρ„Π°ΠΉΠ»ΠΎΠ² Π² Excel Π±Π΅Π· ΠΏΠΎΡ‚Π΅Ρ€ΠΈ ΠΊΠΈΡ€ΠΈΠ»Π»ΠΈΡ†Ρ‹.

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с JSON ситуация Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ прозрачная: стандарт RFC 8259 прСдписываСт использованиС UTF-8. ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Π§Ρ‚Π΅Π½ΠΈΠ΅JSON ΠΈ Π—Π°ΠΏΠΈΡΡŒJSON Π² 1Π‘ автоматичСски ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ этот Ρ„ΠΎΡ€ΠΌΠ°Ρ‚, ΠΈ Ρ€ΡƒΡ‡Π½ΠΎΠ΅ Π²ΠΌΠ΅ΡˆΠ°Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎ Π² ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ трСбуСтся Ρ€Π΅Π΄ΠΊΠΎ, Ρ€Π°Π·Π²Π΅ Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹ΠΌΠΈ ΠΏΠΎΡ‚ΠΎΠΊΠ°ΠΌΠΈ.

πŸ“Š Π‘ ΠΊΠ°ΠΊΠΈΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠΌ ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π²Ρ‹ ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°Π΅Ρ‚Π΅ΡΡŒ Ρ‡Π°Ρ‰Π΅ всСго?
XML
JSON
CSV (ВСкстовыС Ρ„Π°ΠΉΠ»Ρ‹)
SOAP Π²Π΅Π±-сСрвисы
ΠŸΡ€ΡΠΌΠΎΠΉ доступ ΠΊ SQL

Настройка ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с тСкстовыми Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ

Для ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ Π² ΠΊΠΎΠ΄Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ЧтСниСВСкста ΠΈ Π—Π°ΠΏΠΈΡΡŒΠ’Π΅ΠΊΡΡ‚Π°. ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ ΠΌΠΎΠΌΠ΅Π½Ρ‚ΠΎΠΌ здСсь являСтся Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ конструктора, ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰ΠΈΠΉ Π·Π° ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ. Если этот ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΎΠΏΡƒΡ‰Π΅Π½, систСма попытаСтся ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ автоматичСски ΠΏΠΎ BOM (ΠΌΠ°Ρ€ΠΊΠ΅Ρ€Ρƒ порядка Π±Π°ΠΉΡ‚ΠΎΠ²), Π½ΠΎ Ρ‚Π°ΠΊΠΎΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Π½Π΅ всСгда срабатываСт ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ, особСнно Ссли Ρ„Π°ΠΉΠ» Π±Ρ‹Π» создан Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ систСмС Π±Π΅Π· ΠΌΠ°Ρ€ΠΊΠ΅Ρ€Π°.

Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€ явного указания ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ ΠΏΡ€ΠΈ Ρ‡Ρ‚Π΅Π½ΠΈΠΈ Ρ„Π°ΠΉΠ»Π°. Π­Ρ‚ΠΎ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ Π±Π°ΠΉΡ‚Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½Ρ‹ Π² строки ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ, нСзависимо ΠΎΡ‚ настроСк ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы сСрвСра ΠΈΠ»ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°.

ИмяЀайла ="C:\Data\export.csv";

Π§Ρ‚Π΅Π½ΠΈΠ΅ = Новый ЧтСниСВСкста(ИмяЀайла, ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ°Π’Π΅ΠΊΡΡ‚Π°.Windows1251);

// Π”Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠ°Ρ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ…...

Π§Ρ‚Π΅Π½ΠΈΠ΅.Π—Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ;

Аналогично происходит запись. Если Π²Ρ‹ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅Ρ‚Π΅ ΠΎΡ‚Ρ‡Π΅Ρ‚ для Π±ΡƒΡ…Π³Π°Π»Ρ‚Π΅Ρ€Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π² Excel Π΄Π²ΠΎΠΉΠ½Ρ‹ΠΌ ΠΊΠ»ΠΈΠΊΠΎΠΌ, использованиС ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ°Π’Π΅ΠΊΡΡ‚Π°.UTF8 Π±Π΅Π· BOM ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚ ΠΈΠ΅Ρ€ΠΎΠ³Π»ΠΈΡ„Ρ‹ вмСсто Ρ„Π°ΠΌΠΈΠ»ΠΈΠΉ ΠΈ Π½Π°Π·Π²Π°Π½ΠΈΠΉ Ρ‚ΠΎΠ²Π°Ρ€ΠΎΠ². Π’ Ρ‚Π°ΠΊΠΈΡ… случаях Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ°Π’Π΅ΠΊΡΡ‚Π°.Windows1251 ΠΈΠ»ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ BOM ΠΊ UTF-8 Ρ„Π°ΠΉΠ»Ρƒ, хотя стандартныС срСдства записи тСкста Π² 1Π‘ Π½Π΅ всСгда ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π»Π΅Π³ΠΊΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ BOM Π±Π΅Π· Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π±Π°ΠΉΡ‚ΠΎΠ²Ρ‹ΠΌΠΈ ΠΏΠΎΡ‚ΠΎΠΊΠ°ΠΌΠΈ.

β˜‘οΈ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° настроСк Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠΈ Ρ„Π°ΠΉΠ»Π°

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ: 0 / 4

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ Π² Π±Π°Π·Π°Ρ… Π΄Π°Π½Π½Ρ‹Ρ… SQL ΠΈ Ρ„Π°ΠΉΠ»Π°Ρ… dt

ΠŸΡ€ΠΈ ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ Π±Π°Π·Ρ‹ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ .dt (Ρ„Π°ΠΉΠ» Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠΈ) ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΈΠ³Ρ€Π°Π΅Ρ‚ Π²Ρ‚ΠΎΡ€ΠΎΡΡ‚Π΅ΠΏΠ΅Π½Π½ΡƒΡŽ Ρ€ΠΎΠ»ΡŒ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ это Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚, понятный Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ 1Π‘. Однако ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ с Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ… MS SQL Server ΠΈΠ»ΠΈ PostgreSQL Ρ‡Π΅Ρ€Π΅Π· ODBC/JDBC Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Ρ‚ΡŒ ΠΊΠΎΠ»Π»ΠΈΠ·ΠΈΠΈ.

Π’ Π‘Π£Π‘Π” тСкст ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ хранится Π² ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅, Π·Π°Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΈ создании Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… (Collation). Для ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ 1Π‘ с SQL Server рСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ collation с суффиксом _CI_AS (Case Insensitive, Accent Sensitive) ΠΈ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΎΠΉ, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰Π΅ΠΉ ΠΊΠΈΡ€ΠΈΠ»Π»ΠΈΡ†Ρƒ. Π’ PostgreSQL ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ UTF-8, Ρ‡Ρ‚ΠΎ идСально сочСтаСтся с Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠΌ 1Π‘, минимизируя ΠΏΠΎΡ‚Π΅Ρ€ΠΈ ΠΏΡ€ΠΈ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΠΈ.

Π‘Π£Π‘Π” РСкомСндуСмая ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ РСшСниС
MS SQL Server CP1251 (Russian) ΠŸΠΎΡ‚Π΅Ρ€Ρ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈ вставкС символов Π²Π½Π΅ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° ИспользованиС ΠΏΠΎΠ»Π΅ΠΉ Ρ‚ΠΈΠΏΠ° NVARCHAR
PostgreSQL UTF-8 ΠšΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹ сортировки (Collation) Настройка Π»ΠΎΠΊΠ°Π»ΠΈ ΠΏΡ€ΠΈ создании Π‘Π”
Oracle AL32UTF8 Ошибки Π΄Π»ΠΈΠ½Ρ‹ строки (Π±Π°ΠΉΡ‚Ρ‹ vs символы) Π£Ρ‡Π΅Ρ‚ ΠΌΠ½ΠΎΠ³Π±Π°ΠΉΡ‚ΠΎΠ²Ρ‹Ρ… символов Π² Π΄Π»ΠΈΠ½Π΅
IBM DB2 UTF-8 / CP1251 БлоТности с Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°ΠΌΠΈ ОбновлСниС клиСнтской части

ОсобоС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ стоит ΡƒΠ΄Π΅Π»ΠΈΡ‚ΡŒ Π΄Π»ΠΈΠ½Π΅ строковых ΠΏΠΎΠ»Π΅ΠΉ. Π’ ΠΎΠ΄Π½ΠΎΠ±Π°ΠΉΡ‚ΠΎΠ²Ρ‹Ρ… ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ°Ρ… ΠΎΠ΄ΠΈΠ½ символ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½ Π±Π°ΠΉΡ‚, Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ Π² UTF-8 кирилличСский символ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒ Π΄Π²Π° Π±Π°ΠΉΡ‚Π°. Если Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠ»Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΎ 50 Π±Π°ΠΉΡ‚Π°ΠΌΠΈ, Ρ‚ΠΎ строка ΠΈΠ· 50 русских Π±ΡƒΠΊΠ² Π² UTF-8 просто Π½Π΅ помСстится, Ρ‡Ρ‚ΠΎ Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ записи.

ΠšΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΡ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· 1Π‘ 7.7 Π² 1Π‘ 8

ΠŸΡ€ΠΎΡ†Π΅ΡΡ пСрСноса Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· старых вСрсий 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ 7.7 Π² соврСмСнныС ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ 8.Ρ… являСтся ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· самых ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½Ρ‹Ρ… ΠΌΠΎΠΌΠ΅Π½Ρ‚ΠΎΠ², Π³Π΄Π΅ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‚Π°Ρ‚ΡŒ прСпятствиСм. Π’ вСрсии 7.7 Π΄ΠΎΠΌΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Π»Π° ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° CP866 (DOS) ΠΈΠ»ΠΈ Windows-1251 Π² зависимости ΠΎΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы ΠΈ настроСк запуска.

ΠŸΡ€ΠΈ использовании стандартной ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ… (ΠšΠ” 2.0 ΠΈΠ»ΠΈ 3.0) процСсс прСобразования ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ происходит автоматичСски. Однако, Ссли Π²Ρ‹ ΠΏΠΈΡˆΠ΅Ρ‚Π΅ собствСнныС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠΈ/Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ для спСцифичСских справочников, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ ΠΎ Ρ€Π°Π·Π½ΠΈΡ†Π΅ Π² прСдставлСнии символов. Π‘Ρ‚Ρ€ΠΎΠΊΠΈ, ΠΏΡ€ΠΈΡˆΠ΅Π΄ΡˆΠΈΠ΅ ΠΈΠ· «сСмСрки», ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ символы Π² старой ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈ прямой записи Π² Π±Π°Π·Ρƒ 8.3 Π±Π΅Π· ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΠΈ прСвратятся Π² Π½Π΅Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΉ Π½Π°Π±ΠΎΡ€ Π·Π½Π°ΠΊΠΎΠ².

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ Ρ€ΡƒΡ‡Π½ΠΎΠΉ ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Ρ‡Π΅Ρ€Π΅Π· тСкстовыС Ρ„Π°ΠΉΠ»Ρ‹ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ провСряйтС ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ исходного Ρ„Π°ΠΉΠ»Π° ΠΈΠ· 1Π‘ 7.7. Часто это OEM866, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ соврСмСнныС Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π½Π΅ Ρ€Π°ΡΠΏΠΎΠ·Π½Π°Ρ‚ΡŒ автоматичСски.

Для исправлСния ΡƒΠΆΠ΅ испорчСнных Π΄Π°Π½Π½Ρ‹Ρ… Π² Π±Π°Π·Π΅ 8.3 ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΊΠΎΠ΄ΠΈΡ€ΡƒΡŽΡ‚ содСрТимоС ΠΏΠΎΠ»Π΅ΠΉ, Π½ΠΎΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ Π½Π° этапС Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π³ΠΎΡ€Π°Π·Π΄ΠΎ эффСктивнСС. ВсСгда тСстируйтС Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΡƒ Π½Π° нСбольшом Π½Π°Π±ΠΎΡ€Π΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΠΎΠ»Π½Ρ‹ΠΌ пСрСносом.

Как ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ кракозябры Π² Π±Π°Π·Π΅?

Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Ρ‚ΠΈΠΏΠ°"ΠšΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΡ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ тСкста", ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ проходят ΠΏΠΎ всСм строковым полям Π±Π°Π·Ρ‹ ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ ΠΏΠ΅Ρ€Π΅ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΡŽ Π±Π°ΠΉΡ‚ΠΎΠ². Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ с ΠΎΡΡ‚ΠΎΡ€ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ послС ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ³ΠΎ копирования Π±Π°Π·Ρ‹ (Π±Π΅ΠΊΠ°ΠΏΠ°).

Диагностика ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ символов

Как ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° ΠΈΠΌΠ΅Π½Π½ΠΎ Π² ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅? ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠΎΠΌ являСтся появлСниС символов Π²ΠΈΠ΄Π° «ÃоÃл