sql >> Databáze >  >> RDS >> Mysql

Znaky ي a ی a rozdíl v perštině - Mysql

Vážený EBAG, máme jedinou arabštinu zablokovat v Unicode který obsahuje arabštinu i perštinu znaky.

06CC je perština ی a 064A je arabština ي

Výchozí klávesnice systému Windows používá code page 1256 pro arabské znaky, které uvádějí 064A jako výchozí ي pro perské i arabské uživatele, protože arabští uživatelé jsou mnohem více než perští.

ISIRI vytvořit standardní klávesnici ISIRI 9147 a vložte arabštinu i perštinu Yeh na něm ale Perisan ی je výchozí znaky. Perští uživatelé, kteří používají standardní klávesnici, vloží (a používají) standardní perštinu ی‍ while the rest of them use arabic ي`.

Jak jste obvykle řekli, když ukládáme data do databáze, měníme arabské ي do perštiny ‍ی a když z toho čteme, jdeme na perštinu, takže všechno je pravda.

druhým přístupem je použití souboru JavaScript ve webové aplikaci pro řízení vstupu uživatele. většina perských webů používá tento přístup k ukládání znaků do databáze. Při této metodě uživatel nemusí instalovat žádné rozložení klávesnice pro perskou nebo arabskou klávesnici. Prostě dal klávesnici na English a poté v JavaScript vývojář souboru zkontroluje, který znak je pro něj ekvivalentní. Zde můžete najít ISIRI 9147 javascript pro webovou aplikaci a perský průvodce k jejímu použití.

Třetím přístupem je použití klávesnice na obrazovce, která funguje stejně jako předchozí s uživatelským rozhraním a je obvykle vhodná pro ty, kteří neznají perskou klávesnici.

Čtvrtým přístupem je hledání v obou dialektech. Jak víte, když si nainstalujete MySql nebo SQL Server můžete nastavit collation a také máte možnost podporovat dialekt (a rozlišování malých a velkých písmen). pokud povolíte řazení arabštiny s dialektem, můžete získat výsledky pro oba a obvykle to funguje dobře na sql server Netestuji to v MySql . Toto je zatím nejlepší řešení.

ale kdybych byl vámi, implementoval bych jednoduchou sql function které získají nvarchar a vrátí nvarchar . pak to volám, když jsem chtěl zapisovat data. a kdykoli si budete chtít číst, můžete si vybrat standardní.

Omlouvám se za dlouhý ocas.



  1. Prozkoumání Java Unit Testing pomocí JUnit Test Framework

  2. Jsou možné kolize GUID?

  3. Procesory AMD EPYC řady 7002 a SQL Server

  4. Omezení propojeného serveru na jediné místní přihlášení (příklad T-SQL)